gpt4 book ai didi

c# - 复杂对象的元数据类型

转载 作者:太空宇宙 更新时间:2023-11-03 15:36:26 25 4
gpt4 key购买 nike

我有一些复杂的对象。假设我的对象如下:

public class addressModel
{
public string street {get;set;}
public string number {get;set;}
public string state {get;set;}
}

public class contactModel
{
public string firstName {get;set;}
public string lastName {get;set;}
public addressModel address {get;set;}
}

现在我需要从 contactModel 继承的其他类,但其中一个需要 addressModel 而另一个不需要。这可以通过将 [Required] 属性添加到 MetadataType 类来轻松处理:

[MetadataType(typeof(driverMetadata))]
public class driverModel : contactModel
{

}

public class driverMetadata
{
[Required]
public addressModel address {get;set;}
}

但是如果我需要一个只需要 addressModel 的 street 和 number 属性的第三类怎么办?我是否需要创建一个继承自 addressModel 的新类并将 MetadataType 分配给这个新类?

我完全理解我可以创建一个只有这 2 个属性的新地址模型类,但现在想象一个具有几十个属性的类。我们不想创建混合和匹配我们需要的不同属性的临时类。

最佳答案

我最终放弃了这个并继续进行临时类(class)。这大大降低了可重用性(并因此降低了生产力),但正如我们在智利所说:“最佳是好的敌人”。

关于c# - 复杂对象的元数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31763560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com