可以通过几种方式获得元数据Type
。其中两个是:是否有C#等同于属性/方法/成员的typeof?
var typeInfo = Type.GetType("MyClass")
和
var typeInfo = typeof(MyClass)
的第二种方式的优点是错别字会被编译器捕获,并且IDE能够理解我在说什么about(允许重构等功能在没有静默地破坏代码的情况下工作)
是否存在强制引用元数据和reflecti的成员/属性/方法的等效方式上?我能代替:
var propertyInfo = typeof(MyClass).GetProperty("MyProperty")
的东西,如:
var propertyInfo = property(MyClass.MyProperty)
+1 @Marvinsky这是非常酷的想法,如果你使用默认(类型)而不是新的类型()参数,所以你不必能够实例化任何东西吗? – jbtule 2011-11-11 14:48:34
是的,即使你写'new Something()',它也会工作,但它不会被实例化,因为它只是一个表达式,强制使得我们的表达式尽可能短,所以默认(Something) - 更好 – 2011-11-12 05:46:57
不错的解决方案。但是,它非常缓慢。 – user626528 2016-07-18 05:56:34