一个实施Dispose方法的规则说:正确实施一次性模式 - 自动实现属性
这种类型的(除处置等),当资源已经布置“把从实例方法一的ObjectDisposedException此规则不不适用于Dispose方法,因为它应该可以多次调用而不会抛出异常。“
请参见:http://msdn.microsoft.com/en-us/library/b1yfkh5e.aspx
这是否意味着,如果我要正确实现的特性,我不能使用自动实现的属性?我需要属性像这样执行它吗?
private bool _property;
public bool Property
{
get
{
if(disposed) throw new ObjectDisposedException ("MyClass");
return _property;
}
set
{
if(disposed) throw new ObjectDisposedException ("MyClass");
_property=value;
}
}
我同意。当你只是返回原始值时,比如整数,布尔值,颜色:不要去做一个完整的处理检查。但是,如果该属性返回某个在处置后无法合理使用的对象,请执行完整检查。 – Steven 2010-02-10 11:22:13