在C#中,可以使用属性(property)的get和set访问器来实现一些高级的功能,例如数据验证、计算属性和事件通知等。下面是一些get和set访问器的高级应用示例:
private int _age;
public int Age
{
get { return _age; }
set
{
if (value >= 0 && value <= 120)
{
_age = value;
}
else
{
throw new ArgumentOutOfRangeException("年龄必须在0到120之间");
}
}
}
private int _width;
private int _height;
public int Area
{
get { return _width * _height; }
}
private string _name;
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged(nameof(Name));
}
}
public event EventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
以上是一些get和set访问器的高级应用示例,通过这些技巧可以实现更加灵活和功能丰富的属性操作。