C# 嵌套在类中的扩展方法
我想知道的是,当我开始从使用常规助手转向越来越多的扩展方法时,它们开始堆积起来 假设我的顶级主命名空间如下所示: 主名称空间名称是myname+年份和当前月份的最后一位数字 这就是我如何将其组织为助手命名空间的方式C# 嵌套在类中的扩展方法,c#,.net,namespaces,.net-4.0,extension-methods,C#,.net,Namespaces,.net 4.0,Extension Methods,我想知道的是,当我开始从使用常规助手转向越来越多的扩展方法时,它们开始堆积起来 假设我的顶级主命名空间如下所示: 主名称空间名称是myname+年份和当前月份的最后一位数字 这就是我如何将其组织为助手命名空间的方式 名称空间“myname212” { 命名空间DbRelated { 一些分类和方法 } 命名空间样式 { 和往常一样。。 } //…更多的类别和…然后 //扩展名称空间 命名空间自定义扩展 { //最简单的ext类及其第一个方法 公共静态类ToNumber { 公共静态int-Toi
名称空间“myname212”
{
命名空间DbRelated
{
一些分类和方法
}
命名空间样式
{
和往常一样。。
}
//…更多的类别和…然后
//扩展名称空间
命名空间自定义扩展
{
//最简单的ext类及其第一个方法
公共静态类ToNumber
{
公共静态int-Toint(此文本框为TbxToConvrt)
{
返回Convert.ToInt32(TbxToConvrt.Text);
}
//还有一些相同的主题
}
}
}
但是,如果我有一个更一般的类别,它有自己的子类别在逻辑上呢
命名空间扩展
{
公共静态类MainCategory
{
公共静态类
{
公共静态some_方法();
}
公共静态类
{
公共静态some_方法();
}
}
}
上面的层次结构将不起作用
那么,如果我想建立更多的类别,我只能通过
嵌套名称空间
而不是嵌套类
您就是这么做的吗?您可以嵌套名称空间:
甚至:
namespace My.Nested.Namespace
{
public static class FooExtensions
{
}
namespace So.Far
{
public static class BlaExtensions
{
}
}
}
.为什么不起作用?是不可编译的,还是您不喜欢/不接受它?它将进行编译,但不会作为扩展进行访问(您是否缺少程序集或…)@abatishchev它对您有用吗,您尝试过吗?我错过什么了吗?下面的结构作为扩展适用于您:
namespace->static class->static class-->static method()代码>从外到内,就像这样适合你吗?@LoneXcoder为什么需要嵌套包含扩展方法的静态类?嵌套名称空间看起来非常清楚…甚至可以保留年份名称:名称空间扩展。SomeName2012.January
,然后名称空间扩展。SomeName2012.Junuary
等等…所以您只需要使用
添加合适的,好的,我现在明白了。嵌套的不是名称空间而是类。谢谢你的回答,我只是想确定我别无选择
namespace My.Nested.Namespace
{
public static class FooExtensions
{
}
namespace So.Far
{
public static class BlaExtensions
{
}
}
}