gpt4 book ai didi

c# - 向继承类添加数据注释

转载 作者:可可西里 更新时间:2023-11-01 07:58:36 25 4
gpt4 key购买 nike

假设我有以下类(class):

public class ContactUsFormModel : AddressModel
{
[DisplayName("Title")]
[StringLength(5)]
public string Title { get; set; }
[DisplayName("First name (required)")]

[Required(ErrorMessage = "Please enter your first name")]
[StringLength(50, ErrorMessage = "Please limit your first name to {1} characters.")]
public string FirstName { get; set; }

// etc...
}

我能否将必需的属性添加到 ContactUsFormModel 类中的 AddressModel 类的属性?

最佳答案

尝试使用MetadatatypeAttribute .为元数据创建单独的类,您可以在其中直接向属性添加属性。

[MetadataType(typeof(MyModelMetadata ))]
public class ContactUsFormModel : AddressModel
{
[DisplayName("Title")]
[StringLength(5)]
public string Title { get; set; }
[DisplayName("First name (required)")]

[Required(ErrorMessage = "Please enter your first name")]
[StringLength(50, ErrorMessage = "Please limit your first name to {1} characters.")]
public string FirstName { get; set; }

// etc...
}

internal class MyModelMetadata {
[Required]
public string SomeProperyOfModel { get; set; }
}

[编辑]上面的方法对你没有用,因为你说它不会向基类添加属性。

因此,让 AddressModel 中的属性虚拟并在 ContactUsFormModel 中覆盖它们,这样您就可以添加属性。

关于c# - 向继承类添加数据注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21624198/

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