[C#]
// Get the mscorlib assembly in which the object is defined.
Assembly a = typeof(Object).Module.Assembly;
[C#]
// Load an assembly using its file name.
Assembly a = Assembly.LoadFrom ("MyExe.exe");// Get the type names from the assembly.
Type [] types2 = a.GetTypes ();
foreach (Type t in types2)
{Console.WriteLine (t.FullName);
}
[C#]
// This program lists all the public constructors
// of the System.String class.
using System;
using System.Reflection;
class ListMembers { public static void Main(String[] args) {Type t = typeof(System.String);
Console.WriteLine ("Listing all the public constructors of the {0} type", t);// Constructors
ConstructorInfo[] ci = t.GetConstructors(BindingFlags.Public | BindingFlags.Instance);
Console.WriteLine ("//Constructors");PrintMembers (ci);
}
public static void PrintMembers(MemberInfo [] ms) {foreach (MemberInfo m in ms) {Console.WriteLine ("{0}{1}", " ", m);}
Console.WriteLine();
}
}
[C#]
using System;
using System.IO;
using System.Reflection;
class Mymemberinfo
{ public static void Main(string[] args)
{ Console.WriteLine ("\nReflection.MemberInfo");// Get the Type and MemberInfo.
Type MyType =Type.GetType("System.IO.File");MemberInfo[] Mymemberinfoarray = MyType.GetMembers();
// Get and display the DeclaringType method.
Console.WriteLine("\nThere are {0} members in {1}.", Mymemberinfoarray.Length, MyType.FullName);
Console.WriteLine("{0}.", MyType.FullName); if (MyType.IsPublic)
{Console.WriteLine("{0} is public.", MyType.FullName);}
}
}
[C#]
// This code displays information about the GetValue method of FieldInfo.
using System;
using System.Reflection;
class MyMethodInfo { public static int Main() {Console.WriteLine("Reflection.MethodInfo");// Get and display the Type.
Type MyType = Type.GetType("System.Reflection.FieldInfo");// Specify the member for which you want type information here.
MethodInfo Mymethodinfo = MyType.GetMethod("GetValue");Console.WriteLine(MyType.FullName + "." + Mymethodinfo.Name);
// Get and display the MemberType property.
MemberTypes Mymembertypes = Mymethodinfo.MemberType;
if (MemberTypes.Constructor == Mymembertypes) {Console.WriteLine("MemberType is of type All"); }
else if (MemberTypes.Custom == Mymembertypes) { Console.WriteLine("MemberType is of type Custom"); }
else if (MemberTypes.Event == Mymembertypes) { Console.WriteLine("MemberType is of type Event"); }
else if (MemberTypes.Field == Mymembertypes) { Console.WriteLine("MemberType is of type Field"); }
else if (MemberTypes.Method == Mymembertypes) { Console.WriteLine("MemberType is of type Method"); }
else if (MemberTypes.Property == Mymembertypes) { Console.WriteLine("MemberType is of type Property"); }
else if (MemberTypes.TypeInfo == Mymembertypes) { Console.WriteLine("MemberType is of type TypeInfo"); }
return 0;
}
}
[C#]
// This program lists all the members of the
// System.IO.BufferedStream class.
using System;
using System.IO;
using System.Reflection;
class ListMembers { public static void Main(String[] args) {// Specify the class here.
Type t = typeof (System.IO.BufferedStream);
Console.WriteLine ("Listing all the members (public and non public) of the {0} type", t);// Static Fields are listed first.
FieldInfo [] fi = t.GetFields (BindingFlags.Static |
BindingFlags.NonPublic | BindingFlags.Public);
Console.WriteLine ("// Static Fields");PrintMembers (fi);
// Static Properties
PropertyInfo [] pi = t.GetProperties (BindingFlags.Static |
BindingFlags.NonPublic | BindingFlags.Public);
Console.WriteLine ("// Static Properties");PrintMembers (pi);
// Static Events
EventInfo [] ei = t.GetEvents (BindingFlags.Static |
BindingFlags.NonPublic | BindingFlags.Public);
Console.WriteLine ("// Static Events");PrintMembers (ei);
// Static Methods
MethodInfo [] mi = t.GetMethods (BindingFlags.Static |
BindingFlags.NonPublic | BindingFlags.Public);
Console.WriteLine ("// Static Methods");PrintMembers (mi);
// Constructors
ConstructorInfo [] ci = t.GetConstructors (BindingFlags.Instance |
BindingFlags.NonPublic | BindingFlags.Public);
Console.WriteLine ("// Constructors");PrintMembers (ci);
// Instance Fields
fi = t.GetFields (BindingFlags.Instance | BindingFlags.NonPublic |
BindingFlags.Public);
Console.WriteLine ("// Instance Fields");PrintMembers (fi);
// Instance Properites
pi = t.GetProperties (BindingFlags.Instance | BindingFlags.NonPublic |
BindingFlags.Public);
Console.WriteLine ("// Instance Properties");PrintMembers (pi);
// Instance Events
ei = t.GetEvents (BindingFlags.Instance | BindingFlags.NonPublic |
BindingFlags.Public);
Console.WriteLine ("// Instance Events");PrintMembers (ei);
// Instance Methods
mi = t.GetMethods (BindingFlags.Instance | BindingFlags.NonPublic |
BindingFlags.Public);
Console.WriteLine ("// Instance Methods");PrintMembers (mi);
Console.WriteLine ("\r\nPress Return to exit.");Console.Read();
}
public static void PrintMembers (MemberInfo [] ms) {foreach (MemberInfo m in ms) { Console.WriteLine ("{0}{1}", " ", m);}
Console.WriteLine();
}
}
……