您是否为所有扩展方法使用全局的、包罗万象的命名空间,或者是否将扩展方法放在与其扩展的类相同的命名空间中?
或者您是否使用其他方法,例如应用程序或特定于库的命名空间?
我问是因为我需要延长System.Security.Principal.IIdentity
,并将扩展方法放入System.Security.Principal
命名空间似乎很有意义,但我从未见过它这样做。
将您的扩展与其扩展的类放在同一名称空间中。这样,当您使用该类时,就可以使用这些扩展。
- 如果您正在为 Uri 编写扩展,请将扩展放入 System.out.println 文件中。
- 如果它是DataSet的扩展,则将其放在System.Data中。
另外,微软对于扩展方法是这样说的:
一般来说,我们建议您
谨慎地实现扩展方法
并且仅在必要时才这样做。每当
可能的,必须扩展的客户端代码
现有类型应该这样做
创建一个派生自的新类型
现有类型。
有关扩展方法的更多信息,请参阅MSDN 页面 http://msdn.microsoft.com/en-us/library/bb383977.aspx关于扩展方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)