Mega Code Archive

 
Categories / C# / Reflection
 

IsClass, Namespace, FullName, IsAbstract, IsPublic, IsInterface, IsEnum

using System; using System.Reflection; class MainClass {     public static void ShowTypes(string name, Assembly assembly) {         Type[] typeArray = assembly.GetTypes();         Console.WriteLine(name);         foreach (Type type in typeArray) {             if (type.IsClass) {                 Console.WriteLine("\nNamespace : {0}", type.Namespace);                 Console.WriteLine("Class : {0}", type.FullName);                 if (type.BaseType != null)                     Console.WriteLine("Base Class : {0}",                       type.BaseType.FullName);                 else                     Console.WriteLine("Class not derived from anything");                 if (type.IsAbstract)                     Console.WriteLine("Abstract base class");                 else                     Console.WriteLine("Instantiable class");                 if (type.IsPublic)                     Console.WriteLine("Scope: Public");                 else                     Console.WriteLine("Scope: Private");             } else if (type.IsInterface) {                     Console.WriteLine("\nNamespace : {0}", type.Namespace);                     Console.WriteLine("Interface : {0}", type.FullName);                     if (type.IsPublic)                         Console.WriteLine("Scope: Public");                     else                         Console.WriteLine("Scope: Private");                 } else                     if (type.IsEnum) {                         Console.WriteLine("\nEnumeration: {0}", type.FullName);                     } else                         Console.WriteLine("\nType: {0}", type.FullName);         }     }     public static void Main(string[] args) {         for (int i = 0; i < args.Length; ++i) {             Assembly assembly = Assembly.LoadFrom(args[0]);             ShowTypes(args[0], assembly);         }     } }