可以通過幾種方式獲得元數據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