动态创建具有通用属性的对象

快乐

我想在运行时实例化从同一父级继承的两个类之一。

这是父类。它具有两个孩子共有的所有属性。

public class Applicant
{
    public int ApplicantID { get; set; }
    public string LastName { get; set; }
    public string FirstName { get; set; }
    public string MiddleName { get; set; }
    //etc
}

从其继承的两个类具有使它们与众不同的属性

public class PilotApplicant : Applicant
{
    public byte[] SSN { get; set; }
    public string EthnicExplain { get; set; }
    public byte[] CryptoKey { get; set; }
    public byte[] CryptoIV { get; set; }
}

public class CMSApplicant : Applicant
{
    public string LocationName { get; set; }

}

这是我想做的,或类似的事情:

switch (Host)
{
    case "pilot":
        currentApplicant = new PilotApplicant();
        break;

    case "cms":
        currentApplicant = new CMSApplicant();
        break;
}

currentApplicant.ApplicantID = Convert.ToInt32(oReader["ApplicantID"]);
currentApplicant.FirstName = oReader["FirstName"].ToString();
currentApplicant.LastName = oReader["LastName"].ToString();
currentApplicant.MiddleName = oReader["MiddleName"].ToString();

基本上,我试图避免为类单独设置所有属性,因为两个类的99%相同。有办法吗?

帕特里克·霍夫曼

你在做什么就可以了。Juse使用基类并对其进行一些调整:

//
// Use base class here
//
Applicant currentApplicant;

switch (Host)
{
    case "pilot":
        currentApplicant = new PilotApplicant();
        // set values for pilot
        break;

    case "cms":
        CMSApplicant cmsApplicant = new CMSApplicant();
        currentApplicant = cmsApplicant;
        cmsApplicant.LocationName = (string)oReader["LocationName"];
        break;

    default:
       currentApplicant  = null;
       break;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Junit测试具有最终属性的对象创建(AssertJ)

如何创建具有属性的内联对象?

jQuery:如何创建具有动态名称的普通对象?

具有动态添加属性的Django模型对象

C#创建具有动态属性的对象:LINQ通过属性名称数组选择List <object>值

创建具有多个属性的对象集

具有动态名称的嵌套对象属性

在Powershell中创建具有动态属性名称的类

在Cosmos DB中将具有动态属性的对象存储

具有动态和静态键的对象的Typescript创建界面

在Javascript中是否可以创建具有动态(不确定)属性/成员的对象?

php动态创建的类对象具有两个具有相同名称的属性,无法找出原因

具有通用方法特征的动态调度

创建基于字符串的具有动态属性名称的对象

具有动态属性的伪造对象

打字稿:输入具有动态属性的对象

如何在php中动态创建具有计数的对象?

防止Automapper创建具有空值的对象属性

如何动态创建具有类属性的列表

创建具有动态属性的对象数组

创建具有通用类作为列表的对象

使用 Simple Injector 动态选择具有通用名称的具体对象

创建接受具有自定义对象类型的 List 并访问类似属性的通用方法

无法创建具有数组作为属性的对象

解析和映射具有动态属性的 JSON 对象

打字稿创建具有嵌套属性的地图对象

具有动态已知属性的 Typescript 对象

具有来自表 Javascript 的动态属性的对象

如何在VBA中的excel中创建具有文件属性的动态对象列表

TOP 榜单

热门标签

归档