我想添加' Price'在B类作为参考' Price'在A级 我想避免重复声明属性:
public class A{
// ... stuff
[Required]
[Display(Name = "Price (Euros)")]
[Range(1, 1000)]
public float Price { get; set; }
// ... more stuff
}
public class B{
// ... stuff
[Required]
[Display(Name = "Price (Euros)")]
[Range(1, 1000)]
public float Price { get; set; }
// ... more stuff
}
因此,例如,如果在A级我想改变我不想要的范围 必须记住哪些其他类具有相同的属性。
答案 0 :(得分:1)
继承怎么样?
public class A{
// ... stuff
[Required]
[Display(Name = "Price (Euros)")]
[Range(1, 1000)]
public float Price { get; set; }
// ... more stuff
}
public class B : A{
// ... stuff
// ... more stuff
}
答案 1 :(得分:0)
你可以为这个
定义一个常量public static class Constants
{
public const int PriceMin = 1;
public const int PriceMax = 1000;
}
....
[Range(Constants.PriceMin, Constants.PriceMax)]
或者您可以继承Range属性,如
public class MyRangeAttribute : RangeAttribute
{
public MyRangeAttribute()
:base(1, 1000)
{
}
}
然后你可以做
[MyRange]
当您想要更改值时,只需在MyRangeAttribute.cs
中更改它