'value' всегда будет того же типа, что и ваша переменная.Таким образом, имея это:
private bool mabool = false;
public bool MaBool
{
get { return mabool; }
set { mabool = value; }
}
Никогда не потерпит крах.Это потому, что, как я уже сказал, значение будет того же типа, что и переменная.В этом случае значение является логическим значением.
Попробуйте его с классом:
public class Rotator
{
public Roll, Pitch, Yaw;
// Declarations here (...)
}
private Rotator rotation = new Rotator();
public Rotator Rotation
{
get { return rotation; }
set
{
// Since value is of the same type as our variable (Rotator)
// then we can access it's components.
if (value.Yaw > 180) // Limit yaw to a maximum of 180°
value.Yaw = 180;
else if (value.Yaw < -180) // Limit yaw to a minimum of -180°
value.Yaw = -180;
rotation = value;
}
}
Как видно из второго примера, значение является ротатором, поэтому мы можем получить доступ к его компонентам.