Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何向分部类添加数据注释?_C#_.net_Data Annotations_Partial Classes - Fatal编程技术网

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,我收到的错误表明这是不可能的,希望有比更改自动生成代码更好的方法。