我想要一系列静态类,每个类都包含一个字典并在字典上执行两种方法。除了一个方法中的参数类型和另一种方法中的返回类型之外,该类的所有版本中的方法都是相同的。
理想情况下,我想将行为(方法)放在“基础”通用静态类中,然后创建几个类型化的静态后代,每个都包含自己的静态字典。显然,我不能这样做,因为一个静态类不能从另一个静态类继承。
我想知道是否有其他方法可以实现我的目标。我知道我可以使用非静态类来完成这项工作,但在我看来,这更适合静态任务。
这是我想要的草图:
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}
}
}