【发布时间】:2009-07-31 15:28:44
【问题描述】:
我有一个班级,这个班级可以是空的。此类仅具有 String 类型的公共属性。当这个类处于空状态时,这意味着所有的属性都有 String.Empty 的值。
1) 使用公共静态字段,可以修改 Class.Empty 的属性。
2) 我看不到公共静态 property getter 每次都应该返回一个新的空对象(将所有字段设置为 Empty 手动)。我认为这是不好的做法。
3) 另一种解决方案是实现您自己的Class.IsNullOrEmpty(Class obj)。
4) 非静态公共布尔属性obj.IsEmpty。
在使用此类的其他类中,该属性永远不会为空。 其他类是从正确初始化它的(另一个类的)方法返回的。
该属性可能为 null 的唯一情况是,如果它是在该方法之外被 new 的,那么无论如何都会导致它处于无效状态。
【问题讨论】:
标签: c# class-design