home »forums »asp.net topics »getting started / general asp.net »List of methods in a class

List of methods in a class

Topic RSS Feed

Posts under the topic: List of methods in a class

Posted: 3/7/2010 12:49:36 PM

Lurker 105 points Lurker
  • Joined on: 11/1/2009 2:23:31 AM
  • Posts: 21

Hi experts,

 

I have a requirement where I need to print all the methods inside a class. Can you help me how can I get the list of methods ?

 

 

 


c#

Posted: 3/9/2010 8:49:18 PM

Professional 9529 points Professional
  • Joined on: 4/19/2009 1:46:52 AM
  • Posts: 219
answered  Answered

Hi,

You can make use of System.Reflection. Try this sample I am showing you an example to get list of methods of "string" class

 

using System;
using System.Reflection;

public class Example
{
    public static void Main()
    {

        Type type = typeof(string);

        MethodInfo[] methods = type.GetMethods();

        foreach (MethodInfo method in methods)
        {
            Console.WriteLine(method.Name);
        }

        Console.ReadLine();

    }


}




 

 

 

 

 

Output:

Join
Join
Equals
Equals
Equals
Equals
Equals
op_Equality
op_Inequality
get_Chars
CopyTo
ToCharArray
ToCharArray
IsNullOrEmpty
GetHashCode
get_Length
Split
Split
Split
Split
Split
Split
Substring
Substring
Trim
TrimStart
TrimEnd
IsNormalized
IsNormalized
Normalize
Normalize
Compare
Compare
Compare
Compare
Compare
Compare
Compare
Compare
Compare
Compare
CompareTo
CompareTo
CompareOrdinal
CompareOrdinal
Contains
EndsWith
EndsWith
EndsWith
IndexOf
IndexOf
IndexOf
IndexOfAny
IndexOfAny
IndexOfAny
IndexOf
IndexOf
IndexOf
IndexOf
IndexOf
IndexOf
LastIndexOf
LastIndexOf
LastIndexOf
LastIndexOfAny
LastIndexOfAny
LastIndexOfAny
LastIndexOf
LastIndexOf
LastIndexOf
LastIndexOf
LastIndexOf
LastIndexOf
PadLeft
PadLeft
PadRight
PadRight
StartsWith
StartsWith
StartsWith
ToLower
ToLower
ToLowerInvariant
ToUpper
ToUpper
ToUpperInvariant
ToString
ToString
Clone
Trim
Insert
Replace
Replace
Remove
Remove
Format
Format
Format
Format
Format
Copy
Concat
Concat
Concat
Concat
Concat
Concat
Concat
Concat
Concat
Intern
IsInterned
GetTypeCode
GetEnumerator
GetType


Posted: 3/9/2010 9:07:37 PM

Professional 9529 points Professional
  • Joined on: 4/19/2009 1:46:52 AM
  • Posts: 219
answered  Answered

If you need distinct names:

 

using System;
using System.Linq;
using System.Reflection;

public class Example
{
    public static void Main()
    {

        Type type = typeof(string);

        MethodInfo[] methods = type.GetMethods();
        foreach (var name in (from m in methods select m.Name).Distinct())
        {
            Console.WriteLine(name);
        }

        Console.ReadLine();

    }


}




 

Output:

 

Join
Equals
op_Equality
op_Inequality
get_Chars
CopyTo
ToCharArray
IsNullOrEmpty
GetHashCode
get_Length
Split
Substring
Trim
TrimStart
TrimEnd
IsNormalized
Normalize
Compare
CompareTo
CompareOrdinal
Contains
EndsWith
IndexOf
IndexOfAny
LastIndexOf
LastIndexOfAny
PadLeft
PadRight
StartsWith
ToLower
ToLowerInvariant
ToUpper
ToUpperInvariant
ToString
Clone
Insert
Replace
Remove
Format
Copy
Concat
Intern
IsInterned
GetTypeCode
GetEnumerator
GetType

 

 

 

Also if you need to sort it by name:

using System;
using System.Linq;
using System.Reflection;

public class Example
{
    public static void Main()
    {

        Type type = typeof(string);

        MethodInfo[] methods = type.GetMethods();
        foreach (var name in (methods.OrderBy(m => m.Name).Select(m => m.Name)).Distinct())
        {
            Console.WriteLine(name);
        }

        Console.ReadLine();

    }



}




 

Output:

Clone
Compare
CompareOrdinal
CompareTo
Concat
Contains
Copy
CopyTo
EndsWith
Equals
Format
get_Chars
get_Length
GetEnumerator
GetHashCode
GetType
GetTypeCode
IndexOf
IndexOfAny
Insert
Intern
IsInterned
IsNormalized
IsNullOrEmpty
Join
LastIndexOf
LastIndexOfAny
Normalize
op_Equality
op_Inequality
PadLeft
PadRight
Remove
Replace
Split
StartsWith
Substring
ToCharArray
ToLower
ToLowerInvariant
ToString
ToUpper
ToUpperInvariant
Trim
TrimEnd
TrimStart


c#
Page 1 of 1 (3 items)