我对属性应该做多少有些困惑,我听说属性应该始终表示类的一个逻辑属性。 除了ArgumentOutOfRange之外,Get和Set几乎不应该抛出异常。这是真的吗?以下示例完全错误吗?
public bool DeviceRegistered
{
get{ return _Registered;}
set
{
if(value)
{
RegisterDevice();
_Registered = true;
}
else
{
UnRegisterDevice();
_Registered = false;
}
}
}
同样,如果在同一类中的一个方法想要更改属性的值,应该通过属性的set访问器还是直接修改私有变量_Registered呢?
如果您在使用属性时有任何其他建议,请包括在内!谢谢。
System.Lazy<T>
类型,从属性中返回_lazyValue.Value
,并将该属性标记为[DebuggerBrowsable(DebuggerBrowsableState.Never)]
。 - Sam Harwell