MinValue & MaxValue attribute for properties

前端 未结 5 2195
花落未央
花落未央 2020-12-17 15:27

Is it possible to make attribute which can limit minimum or maximum value of numbers.

Example:

[MinValue(1), MaxValue(50)]
public int Size { get; set         


        
5条回答
  •  心在旅途
    2020-12-17 16:12

    create an extension

    public static class Extensions
    {
      public static int FixedValue(this int value, int min, int max)
      {
        if (value >= min && value <= max)
          return value;
        else if (value > max)
          return max;
        else if (value < min)
          return min;
        else return 1;
      }
    }
    

    And then:

    private int size;
    public int Size { get { return size.FixedValue(1, 50); }
                      set { size = value.FixedValue(1, 50); } }
    

提交回复
热议问题