是否有可能扩展.net框架命名空间,就像可以扩展.net框架类一样?

时间:2010-10-21 19:40:51

标签: c#

可以像字符串一样扩展类(参见http://www.c-sharpcorner.com/uploadfile/mgold/extendingstringclass03162008132109pm/extendingstringclass.aspx)有没有办法以类似的方式扩展System.Web,例如通过在这个命名空间中添加我们自己的类?

3 个答案:

答案 0 :(得分:9)

不确定。尝试这样的事情:

namespace System.Web
{
   public class ThisIsMyAdditionToSystemWeb
   {
   }
}

但显然,这不会给实际的.Net程序集添加任何内容,想要利用“扩展程序”的项目必须引用你的程序集。

答案 1 :(得分:8)

是的,确定,命名空间与任何特定程序集无关。否则,这是一种很好的方式,可以将您的课程用户与可恢复的希望混为一谈。并且强烈受到微软的劝阻,他们声称“微软”和“系统”都是他们的。如果某种未来的.NET更新将具有与您的名称相冲突的命名空间名称,那就毫无同情。

答案 2 :(得分:2)

问题中链接的示例是使用Extension Methods来扩展密封的字符串类。没有什么可以阻止你为任何类编写扩展方法。

正如其他人所说,扩展命名空间就像在创建新对象时声明该命名空间一样简单。在你做之前一定要考虑其含义。