0

重複の可能性:
プライベート静的メソッドを使用する利点

現在取り組んでいるプロジェクトで、プライベートな静的クラス定義を見つけました。これは、Page から派生した基本クラスの一部でした。このクラスには、いくつかの基本クラス メソッドで使用される public static メソッドがいくつか含まれています。

このコードの元の開発者がいなくなったので、そのメリットは何だろうと思います。メソッドは列挙値のみを返します。

例:

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 classwithメソッドのほとんどpublic staticは、この機能を のメンバーにすることなく、コードで使用する機能を提供する Extensions-Class ですPage

外部アセンブリからこの機能にアクセスしたくありません。

詳細については、これをお読みください。

于 2012-10-23T09:38:01.023 に答える