我廣泛使用foovar.GetType().GetProperty("PropertyName").GetValue(foovar)
通過反射來獲取變量變量的屬性值。但它似乎不適用於接口類型。通過反射獲取接口屬性
IFoo foo = GetFoo();
string fooName= foo.Name; //It works perfectly
我正在使用第三方程序集,因此我無權訪問該實現。有一個'名稱'屬性,我可以得到這個值。但不能通過反思。
當我嘗試string s = (string)foo.GetType().GetProperty("Name").GetValue(foo);
我得到一個空的錯誤:有
我已經檢查PropertyInfo[] pi = foo.GetType().GetProperties();
無「名」屬性,我可以看到約200性能,這些都不是「名」。事實上,許多其他「智能感知屬性」都沒有出現。
¿如何檢索接口類型屬性的值?
謝謝!
爲什麼你需要這個反射?你有沒有試圖用ILSpy,dotPeek或Reflector來觀察實驗? –
我有類型至極我需要在運行時訪問的屬性。它有很多不同類型的。我通過數據庫或XML獲取每次需要使用的屬性名稱和屬性類型,然後使用反射和泛型來獲取值。 – Kaikus