有没有我应该在.NET中执行以下操作而不是使用具有读/写功能的属性的情况?
private S as string public function GetS() as string return S end function public sub SetS(byval NewS as string) S = NewS end function
解决方法
内部属性只不过是一对方法.它们基本上评估为get和set访问器方法.
您应该使用属性,除非该属性会导致一些意外的,可能长时间运行的副作用,或者还有其他充分的理由使用方法.
有关详细信息,我建议阅读Property Usage Guidelines on MSDN.特别是,在以下情况下使用方法:
>操作是转换,例如Object.ToString.
>操作非常昂贵,您希望与用户通信他们应该考虑缓存结果.
>使用get访问器获取属性值会产生可观察到的副作用.
>连续两次调用该成员会产生不同的结果.
>执行的顺序很重要.请注意,应该能够以任何顺序设置和检索类型的属性.
>该成员是静态的,但返回一个可以更改的值.
>该成员返回一个数组.
否则,我会使用一个属性. Brad Abram’s blogged some other details,包括为什么某些API函数使用方法的好理由(主要是因为它们可能导致跨计算机通信,这将属于“副作用”类别).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。