0

我正在寻找任何可能的解决方案来覆盖现有类的元数据类型。

例如:

public class PersonMetadata 
{   
  [Required]
  public string Id { get; set; }

  [DisplayName("First Name")]
  public string Name { get; set; }

  [DisplayFormat(DataFormatString = "{0:yyyy-mm-dd}")]
  public DateTime Birthday { get; set; }
}

public class OtherPersonMetadata : PersonMetadata 
{
  [DisplayName("Full Name")]
  public new string Name { get; set; }

  [DisplayFormat(DataFormatString = "{0:dd-mm-yyyy}")]
  public new DateTime Birthday { get; set; }
}

[MetadataType(typeof(PersonMetadata))]
public class Person
{
  public string Name { get; set; }
}

public class EmployeeRecord 
{
  public Person PersonA { get; set; }

  [ApplyMetaData(typeof(OtherPersonMetadata))] <----- Possible & How?
  public Person PersonB { get; set; }
}

PersonB 可以使用 OtherPersonMetadata 吗?有什么想法吗?谢谢 - J


[MetadataType(typeof(PersonMetadata))]
Person{
...
}

Class EmplyeeRecord{
    Person PersonA -> PersonMetaData
    Person PersonB -> OtherMetaData
}

在这种情况下我可以覆盖 PersonB 的元数据吗?

4

0 回答 0