我可以在运行时创建实体名称吗?试图实例化一个新的“按层次结构”表;(《)实体
本文关键字:实体 一个 按层次结构 层次结构 创建 运行时 我可以 实例化 | 更新日期: 2023-09-27 17:49:32
我使用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,它提供了几个重载来创建对象的实例