是否可以从动态或对象转换为变量类型?目标变量类型是一个泛型类,只有特定的数据类型有所不同。转换为变量类型
我正在寻找抽象的解决方案,但情况是这样的:我想单个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