有一些 .NET
库使用方法来访问对象数据,而不是 getter 方法,例如 HttpWebResponse.GetResponseStream()
。
还有一些通过属性来访问流的示例,例如 HttpResponse.OutputStream
。
我的问题是什么时候使用哪种形式的访问方式,以及为什么?
有一些 .NET
库使用方法来访问对象数据,而不是 getter 方法,例如 HttpWebResponse.GetResponseStream()
。
还有一些通过属性来访问流的示例,例如 HttpResponse.OutputStream
。
我的问题是什么时候使用哪种形式的访问方式,以及为什么?
我的观点可能会很快降到-10,但我认为你应该只在序列化时使用属性。在其他情况下,显式调用方法更可取,因为当你看到它时,你知道正在调用可能具有副作用的方法。
我想“正确”的答案是,如果你的方法只是返回值,那么使用getter/setter是可以的,但如果有任何工作要做,就使用方法。
FxCop
规则非常不错,但我认为缺少了其中一条。我们知道网络流无法回溯,因此只获取一次流是有意义的。 我更喜欢在后续调用GetSomeNetworkStream()
时抛出异常。 - Xaqron