我有一个自动生成的类,上面有一个属性。我想在同一类型的另一个部分类中向该属性添加一些数据注释。我该怎么做?

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; }
        }
    }
}

关于c# - 如何为部分类添加数据注释?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6131754/

10-11 11:18