2016-11-24 106 views
0

我想在B类上添加'价格'作为参考A类上的'价格'。 我想避免重复声明属性:asp net mvc - 有一个模型属性引用另一个模型属性

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类我想改变的范围,我不希望 必须记住其他类具有相同的属性。

回答

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

可能想在你的答案中提及接口:) – user1567453

0

您可以定义一个常数这

public static class Constants 
{ 
    public const int PriceMin = 1; 
    public const int PriceMax = 1000; 
} 

.... 


[Range(Constants.PriceMin, Constants.PriceMax)] 

或者你可以继承像

public class MyRangeAttribute : RangeAttribute 
{ 
    public MyRangeAttribute() 
     :base(1, 1000) 
    { 
    } 
} 

那么你可以做

[MyRange] 

当档属性你想改变价值只是陈ge里面MyRangeAttribute.cs

相关问题