У меня есть класс со многими полями, которые представляют разные физические значения.
class Tunnel
{
private double _length;
private double _crossSectionArea;
private double _airDensity;
//...
Каждое поле отображается с помощью свойства чтения / записи. Мне нужно проверить на сеттере правильность значения и в противном случае создать исключение. Все проверки аналогичны:
public double Length
{
get { return _length; }
set
{
if (value <= 0) throw new ArgumentOutOfRangeException("value",
"Length must be positive value.");
_length = value;
}
}
public double CrossSectionArea
{
get { return _crossSectionArea; }
set
{
if (value <= 0) throw new ArgumentOutOfRangeException("value",
"Cross-section area must be positive value.");
_crossSectionArea = value;
}
}
public double AirDensity
{
get { return _airDensity; }
set
{
if (value < 0) throw new ArgumentOutOfRangeException("value",
"Air density can't be negative value.");
_airDensity = value;
}
}
//...
Есть ли какой-нибудь элегантный и гибкий способ выполнить такую проверку?