Mega Code Archive

 
Categories / C# / Reflection
 

Print Property 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 {             foreach (Type t in LoadedTypes) {                 if (t.IsPublic && !t.IsEnum && !t.IsValueType) {                     Console.WriteLine("Type: {0}", t.FullName);                     PrintPropertyInfo(t);                 }             }         }     }     private static void PrintPropertyInfo(Type t) {         PropertyInfo[] props = t.GetProperties             (BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static);         foreach (PropertyInfo p in props) {             Console.WriteLine("Property: {0}", p.Name);             Console.WriteLine("\tType {0}", p.PropertyType.FullName);             if (p.CanRead)                 Console.WriteLine("Readable property.");             if (p.CanWrite)                 Console.WriteLine("Writable property.");             ParameterInfo[] pList = p.GetIndexParameters();             if (pList.Length == 0) {                 Console.WriteLine("\tNo Parameters");             } else {                 Console.WriteLine("\tParameter List:");                 foreach (ParameterInfo parm in pList) {                     Console.WriteLine("\t\t{0} {1}", parm.ParameterType.FullName,parm.Name);                 }             }         }     } }