①:System.Object.GetType方法是object类型所包含的一个方法,因为每一个类型都是继承自object的所以,我们可以在任何对象上使用GetType方法获得该类型的Type对象:Type t = MyObject.GetType();
1
2
3
4
5
6
7
8
9
10
11
staticvoid Main(string[] args)
{
Type t = MyObject.GetType();
Console.WriteLine("{0}",t.Name);
Console.WriteLine("{0}",t.Namespace);
FieldInfo[] fi = t.GetFields();
foreach(var f in fi)
{
Console.WriteLine("{0}",f.Name);
}
}
②:使用typeof运算符来获取Type对象,只需要提供类型名作为参数它就会返回Type对象的引用:Type t = typeof(MyObject);
1
2
3
4
5
6
7
8
9
10
11
staticvoid Main(string[] args)
{
Type to = typeof(MyObject);
Console.WriteLine("{0}",to.Name);
Console.WriteLine("{0}",to.Namespace);
FieldInfo[] fi = to.GetFields();
foreach(var f in fi)
{
Console.WriteLine("{0}",f.Name);
}
}
//MyObject类的命名空间是“Reflection”,所以完全限定名就是:Reflection.MyObject
Type t = Type.GetType("Reflection.MyObject");
Type t1 = Type.GetType("Reflection.MyObject",true,true);