C# 如何向分部类添加数据注释?
我有一个自动生成的类,上面有一个属性。我想在同一类型的另一个分部类中为该属性添加一些数据注释。我该怎么做C# 如何向分部类添加数据注释?,c#,.net,data-annotations,partial-classes,C#,.net,Data Annotations,Partial Classes,我有一个自动生成的类,上面有一个属性。我想在同一类型的另一个分部类中为该属性添加一些数据注释。我该怎么做 namespace MyApp.BusinessObjects { [DataContract(IsReference = true)] public partial class SomeClass: IObjectWithChangeTracker, INotifyPropertyChanged { [DataMember]
namespace MyApp.BusinessObjects
{
[DataContract(IsReference = true)]
public partial class SomeClass: IObjectWithChangeTracker, INotifyPropertyChanged
{
[DataMember]
public string Name
{
get { return _name; }
set
{
if (_name != value)
{
_name = value;
OnPropertyChanged("Name");
}
}
}
private string _name;
}
}
在另一个文件中,我有:
namespace MyApp.BusinessObjects
{
public partial class SomeClass
{
private SomeClass()
{
}
[Required]
public string Name{ get; set; }
}
}
当前,我收到一个错误,指出name属性已经存在。看起来我找到了一种不同的方法,类似于上面使用
MetadataTypeAttribute的链接:
namespace MyApp.BusinessObjects
{
[MetadataTypeAttribute(typeof(SomeClass.Metadata))]{
public partial class SomeClass
{
internal sealed class Metadata
{
private Metadata()
{
}
[Required]
public string Name{ get; set; }
}
}
}
我正在使用下面的来支持同一个表中引用同一个表的多个外键。例如,这个人有两个父母(父亲和母亲),他们都是人
[MetadataTypeAttribute(typeof(SomeClassCustomMetaData))]
public partial class SomeClass
{
}
public class SomeClassCustomMetaData
{
[Required]
public string Name { get; set; }
[InverseProperty("Father")]
public virtual Parent ParentClass { get; set; }
[InverseProperty("Mother")]
public virtual Parent ParentClass1 { get; set; }
}
如果这是可能的话,我会感到惊讶-最好的办法是更改自动生成类的方式,以允许在其中指定注释。可能重复@Will-Ya,我收到的错误表明这是不可能的,希望有比更改自动生成代码更好的方法。