使用這個代碼,我用它的名字得到一些對象的屬性:在通用的方式調用方法
string propName = "Buttons"; // getting this runtime
Type t = container.GetType();
PropertyInfo p = t.GetProperty(propName);
object prop = p.GetValue(container, null);
屬性的類型取決於屬性名稱,但所有屬性已經實現了IList
接口,因此,所有的他們有Add()
方法。現在我想能夠使用此方法將元素添加到該屬性。但我不能在object
類型上調用此方法。我需要以某種方式投射它的運行時間,但在此之前,我不得不以某種方式使用prop.Add()
,這當然會觸發編譯錯誤。有沒有辦法在運行時獨立於對象類型調用一個方法(當然要確保該對象具有該方法)。
P.S.如果問題不清楚,我可以添加更多的細節。
非常感謝你,這正是我想要的,我的意思是'dynamic'關鍵字:)我沒有與.NET一大經驗,所以我甚至不知道是否有可能或不 – haynar 2012-07-12 13:02:25