是否可以從動態或對象轉換爲變量類型?目標變量類型是一個泛型類,只有特定的數據類型有所不同。轉換爲變量類型
我正在尋找抽象的解決方案,但情況是這樣的:我想單個Linq2SQL命令爲不同的實體 - 我可以GetProperty + GetValue的EntityFramework上下文,但它必須被鑄造成一些確切的類型,但這些來自變量輸入 - 數據庫表的名稱。的我有什麼
例子:
NewType CastedObject = (NewType) MyObject;
// or
NewType CastedObject = Convert.ChangeType(MyObject, NewType);
// or
NewType CastedObject = MyObject as NewType;
,所以我可以做到這一點:
(from x in CastedObject where x.ID == ID select x).FirstOrDefault();
的我需要什麼,但不知道該怎麼辦呢
Type NewType = typeof(System.Data.Objects.ObjectSet<>);
NewType.MakeGenericType(new Type[] {"...some type here that's variable accordint to user input - like Person, Address, Contact, ..."});
Object MyObject = Context.GetType().GetProperty("the same variable like above - Person, Address,...", BindingFlags.Public | BindingFlags.Instance).GetValue(Context, null); // this is EntityFramework Context
例
對於那些熟悉PHP的人,我試圖這麼做:
(from x in Context.$tablename where x.ID == ID select x).FirstOrDefault();
我編輯了自己的冠軍。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2013-03-21 18:14:21