How can I get and set the Range attribute min and max?

Viewed 2877
[Range(-3, 3)]
public float range;

I want later in the code to do something like :

range.min = 2 
range.max = 20;

Or get

int min = range.min;
int max = range.max;
2 Answers

Can you change it to an object like below?

public class range
{
    private float _value;
    public range(int min, int max)
    {
        Min = min;
        Max = max;
    }


    public float Value
    {
        get
        {
            return _value;
        }
        set
        {
            if (value > Max || value < Min) throw new Exception("value out of 
               range.");
            _value = value;
        }
    }

    public int Min { get; }

    public int Max { get; }

}

use it like;

rangeObj = new range(-3,3);
rangeObj.Min
rangeObj.Max
rangeObj.Value
Related