我使用TPH创建了一个表的特殊实例,即
section <- introduction-section
有许多不同的section类型,如结论
section <- conclusion-section
我需要实例化这些类的新对象,如果没有TBH,就会:
var myNewSection = new section();然而,我正在使用TBH,所以我需要实例化子实体,以便正确填充鉴别符:
myNewSection = new I_Section ();db.Section.AddObject (myNewSection);
然而,这带来了一个问题,因为我必须显式地引用TBH实体I_Section,并且在循环中有一个switch语句。
是否有一种方法来定义这个类,如I_Section在运行时,从说一个字符串,我可以从循环中的其他值构造?
String strSectionCode = "I"
string strFullName = strSectionCode + "_" + "Section";
var myNewSection = new strFullname ??? () // I know this is not possible, but it shows where I am trying to get to.
使用反射,您应该能够在运行时实例化对象。看看Activator。CreateInstance,它提供了几个重载来创建对象的实例