dump the public methods of a class : MethodInfo « Reflection « C# / C Sharp






dump the public methods of a class

    


using System;
using System.Reflection;

class DumpType {
    static void Main(string[] argv) {
        targetType = LoadAssembly(argv[0], argv[1]);
        DumpReportHeader();
        DumpMethods();
    }

    static public Type LoadAssembly(string t, string a) {
        return Type.ReflectionOnlyGetType(t + "," + a, false, true);
    }

    static void DumpReportHeader() {
        Console.WriteLine("\n{0} type of {1} assembly",targetType.Name, targetType.Assembly.GetName().Name);
        Console.WriteLine("\n{0,22}\n", "[ METHODS ]");
    }

    static void DumpMethods() {
        string dashes = new string('-', 50);
        foreach (MethodInfo method in targetType.GetMethods()) {
            Console.WriteLine("{0,12}{1,-12}", " ", method.Name + " " + "<" + method.ReturnParameter.ParameterType.Name + ">");
            int count = 1;
            foreach (ParameterInfo parameter in method.GetParameters()) {
                Console.WriteLine("{0, 35}{1, -12}"," ", (count++).ToString() + " " + parameter.Name + " (" + parameter.ParameterType.Name + ")");
            }

            Console.WriteLine("{0,12}{1}", " ", dashes);
        }
    }

    private static Type targetType;
}

   
    
    
  








Related examples in the same category

1.MethodInfo: Name
2.Type.GetMethods
3.List Assembly Info
4.Finding the class that contains a method in an assembly.
5.Invoke methods using reflectionInvoke methods using reflection
6.Analyze methods using reflectionAnalyze methods using reflection
7.dynamic invocation is demonstrated with MethodInfo.Invoke and Type.InvokeMember
8.Invokes the method.
9.Call a static method in a nested namespace.
10.Gets a MethodBody that provides access to the MSIL stream, local variables, and exceptions for the current method.
11.Gets the parameters of the specified method or constructor.
12.Invokes the method or constructor represented by the current instance, using the specified parameters.
13.Gets a value indicating whether the method is abstract.
14.Indicating whether the potential visibility of this method or constructor is described by MethodAttributes.Assembly
15.Gets a value indicating whether this method is final.
16.Is it a public method.
17.MethodInfo List