可以像扩展字符串类一样扩展类(请参见http://www.c-sharpcorner.com/uploadfile/mgold/extendingstringclass03162008132109pm/extendingstringclass.aspx),那么是否有一种类似的方法可以通过将我们自己的类添加到此命名空间(System.Web)中来进行扩展?
可以像扩展字符串类一样扩展类(请参见http://www.c-sharpcorner.com/uploadfile/mgold/extendingstringclass03162008132109pm/extendingstringclass.aspx),那么是否有一种类似的方法可以通过将我们自己的类添加到此命名空间(System.Web)中来进行扩展?
当然,可以尝试像这样的方法:
namespace System.Web
{
public class ThisIsMyAdditionToSystemWeb
{
}
}
但显然,这样做不会向实际的.Net组件添加任何内容,想要利用您的“扩展”的项目必须引用您的程序集。
没错,命名空间与任何特定程序集无关。它是让类使用者难以理解的绝佳方式。而且微软强烈反对使用"Microsoft"和"System"作为命名空间,这两个名称属于微软所有。如果将来的.NET更新与你的命名空间名称冲突,微软不会给予任何同情。
Guid
和Nullable<Guid>
上创建IsNullOrEmpty扩展方法,这样您就不必一直将其与Guid.Empty
进行比较。您希望该方法在Guid
可用的任何地方都可用,因此将GuidExtensions
类放在System
命名空间中是有意义的吧?既然这样的扩展类永远不会在代码中直接引用,因此可以始终为该类添加唯一前缀。 - Triynko