0

可能重复:
使用私有静态方法的优势

在我目前正在进行的一个项目中,我发现了一个私有静态类定义。它是派生自 Page 的基类的一部分。该类包含一些在某些基类方法中使用的公共静态方法。

由于这段代码的原始开发人员走了,我想知道有什么好处。这些方法只返回枚举值。

例子:

public class BasePage : Page
{
   protected override OnInit(EventArgs e)
   {
     ...
   }

   private static class SomeClass
   {
      public static myenumtype GetCategory(int id)
      {
           switch(id)
           {
                case 1: return myenumtype.one;
                case 2: return myenumtype.two;
                default: return myenumtype.zero;
           }
      }
   }
}
4

3 回答 3

2

如果您的意思是嵌套类,则可能只是“命名空间”方法。这样您就可以将具有相关功能的方法“分组”在一起,而不是让父类中的大量静态辅助方法使 Intellisense 混乱。

于 2012-10-23T09:37:14.700 回答
1

这可能是为了封装。

拥有一个私有静态类听起来像一个辅助类 - 它会使使用类(您正在谈论的基类)中的代码更加简洁和有意义,并将一些偶然的复杂性带入私有类。

于 2012-10-23T09:37:54.920 回答
1

大多数private static classwithpublic static方法是一个 Extensions-Class,它提供您在代码中使用的功能,而无需将此功能作为Page.

您不希望从外部程序集访问此功能。

阅读本文以获取更多信息:

于 2012-10-23T09:38:01.023 回答