嵌套在类中的扩展方法

时间:2012-12-07 01:47:05

标签: c# .net namespaces .net-4.0 extension-methods

我想知道,因为我开始做一些戏剧性的转变,从使用常规助手到越来越多的extension methods,所以他们开始堆积,

说我的顶级主命名空间如下:

主命名空间名称是myname +年份和当前月份的最后一位数

这就是我如何将其组织为帮助程序命名空间

 
namespace "myname212" 
{
    namespace DbRelated
    {
        some clasess & methods 
    }

    namespace styling
    {
        same as usual ..
    }

    // .... some more categories and...then

    //the extentions namespace

    namespace CustomExtentions
    {
        // simplest ext class and its first method 
        public static class ToNumber
        {
            public static int Toint(this Textbox TbxToConvrt)
            {
                return Convert.ToInt32(TbxToConvrt.Text);
            }
            //some more of same subject 
        }
    }
}

但是,如果我有一个更普遍的catefory,它具有logocally自己的子类

 
namespace Extentions
{
    public static class MainCategory
    {
         public static class SubCat1 
         {
             public static some_method();
         }
         public static class SubCat2 
         {
             public static some_method();
         }
    }  
}

上面的分层结构不起作用。

因此,如果我想建立更多类别,我只能通过

来实现

nested namespaces代替nested classes

这就是你做的吗?

1 个答案:

答案 0 :(得分:3)

您可以嵌套名称空间而不是

namespace My.Nested.Namespace.So.Far
{
    public static class BlaExtensions
    {
    }
}

甚至:

namespace My.Nested.Namespace
{
    public static class FooExtensions
    {
    }

    namespace So.Far
    {
        public static class BlaExtensions
        {
        }
    }
}

should work too