4

それぞれが辞書を含み、辞書に対して2つのメソッドを実行する一連の静的クラスが必要です。メソッドは、あるメソッドの引数の型と別のメソッドの戻り型を除いて、クラスのすべてのバージョンで同一です。

理想的には、動作 (メソッド) を「ベース」のジェネリック静的クラスに入れ、それぞれに独自の静的辞書を含むいくつかの型指定された静的子孫を作成したいと考えています。明らかに、ある静的クラスは別の静的クラスから継承できないため、これを行うことはできません。

私の目標を達成するための別の方法があるかどうか疑問に思っています。非静的クラスでこれを機能させることができることは知っていますが、これは静的タスクの方が適切であるように思えます。

ここに私が欲しいもののスケッチがあります:

public static class BaseClass<T>
{
  private static Dictionary<string, T> PrivateDict {get; set;}

  private static String ToString(T argument)
  {
     return Somestring;
  }

  private static T FromString(string argument)
  {
     return Some-T-thing;
  }
}

// This static class supplies the static dictionary but gets the static methods of BaseClass.
// Other static classes might exit that use, for instance, Dictionary<string, XElement>
public static class GenderClass : BaseClass<int>
{
  private static Dictionary<string, int> PrivateDict = new Dictionary<string, int>
  {
      {"Male", 1},
      {"Boy", 1},
      {"M", 1},
      {"Female", 2},
      {"Girl", 2},
      {"F", 2}
  }
}
4

2 に答える 2