Mega Code Archive

 
Categories / C# / Reflection
 

Print Method Info

using System; using System.Collections; using System.Reflection; public class MainClass{     public static void Main() {         Assembly LoadedAsm = Assembly.LoadFrom("yourName");         Console.WriteLine(LoadedAsm.FullName);         Type[] LoadedTypes = LoadedAsm.GetTypes();         if (LoadedTypes.Length == 0) {             Console.WriteLine("\tNo Types!");         } else {             Console.WriteLine("\tFound Types:");             foreach (Type t in LoadedTypes) {                 if (t.IsPublic && !t.IsEnum && !t.IsValueType) {                     Console.WriteLine("Type: {0}", t.FullName);                     PrintMethodInfo(t);                 }             }         }     }     private static void PrintMethodInfo(Type t) {         MethodInfo[] methods = t.GetMethods(BindingFlags.DeclaredOnly |             BindingFlags.Public | BindingFlags.Instance |             BindingFlags.Static);         foreach (MethodInfo m in methods) {             if (m.IsStatic)                 Console.WriteLine("Static Method: {0}", m.Name);             else                 Console.WriteLine("Method: {0}", m.Name);             Console.WriteLine("\tReturns {0}", m.ReturnType.FullName);             ParameterInfo[] pList = m.GetParameters();             if (pList.Length == 0) {                 Console.WriteLine("\tNo Parameters");             } else {                 Console.WriteLine("\tParameter List:");                 foreach (ParameterInfo p in pList) {                     Console.WriteLine("\t\t{0} {1}", p.ParameterType.FullName,p.Name);                 }                 Console.WriteLine();             }         }     } }