您对名称空间和赞助商类使用什么命名约定? (即保存扩展方法定义的类)扩展方法名称空间和赞助商类的命名约定
是否存在标准/推荐的.NET Framework命名约定? (“框架设计指南,第二版”一书只给出了不使用什么名称空间的指导)。
您对名称空间和赞助商类使用什么命名约定? (即保存扩展方法定义的类)扩展方法名称空间和赞助商类的命名约定
是否存在标准/推荐的.NET Framework命名约定? (“框架设计指南,第二版”一书只给出了不使用什么名称空间的指导)。
对于命名空间 - 我将专注于标准的框架。命名空间名称准则。将扩展方法放入一个名称空间,在这个名称空间中通常会使用/关联有意义的名称空间,并避免为此仅使用一个额外的名称空间。
对于赞助商类 - 在这种情况下,这是相当不重要的。我会尝试选择一个有意义的类名,但似乎没有一个固定的准则。
虽然这里重要的是,赞助商类永远不会被你的扩展方法的用户真正直接使用/看到。只要包含名称空间,就可以正确找到扩展方法。我个人对我的扩展方法使用了与jrummell非常相似的东西,但是微软并没有在框架中遵循这一点(一个很好的例子就是Enumerable类)。
我还没有看到任何正式建议,但我一直在举办类似[命名空间]我的扩展类[类名]扩展:
ProjectName.Web.Util.ControlExtensions
ProjectName.Data.Util.CollectionExtensions
我也这样做,我还要补充一点,我倾向于将任何高度专用的静态扩展方法类放入相关的命名空间中,以便它们将被使用,以便它们不会为其他开发人员提供智能感知。换句话说,我的扩展方法类不一定与它们扩展的类位于相同的名称空间中。 – jpierson 2010-02-16 15:35:49
我做了类似的事情,但是当我将扩展方法添加到一个*接口*而不是一个类时,我最终得到了像'IMyInterfaceExtensions`这样难看的类名,而且它看起来像扩展类本身就是一个接口:( – 2013-08-21 17:04:48