我希望能够拥有这个通用类:
public class MyClass<T>
{
static public string SharedString;
}
其中SharedString将是一个静态值,对于封闭构造类型的所有实例都具有相同的值。
因此这些实例:
var instanceInt = new MyClass<int>();
var instanceString = new MyClass<string>();
字段将具有相同的值SharedString。
例如,如果我写:
instanceInt.SharedString = "Text 1";
instanceString.SharedString = "Text 2";
那我想要那个instanceInt.SharedString == "Text 2"。
在 C# 中,SharedString所有 的实例具有相同的值,但与的实例MyClass<int>不同。SharedStringMyClass<string>
所以instanceInt.SharedString == "Text 1"。
我希望能够重用这个概念来创建任何具有任何真正的通用静态字段的类,该字段可以是aspublic或。privateinternal
我读到了这一点,但它是不够的,因为我不想每次需要共享值时都重复代码:
我不想为每个泛型类型创建一个基类,也不想为嵌套或包装类创建一个基类:它太费力、太重而且不能分解。我只是希望能够定义几个通用开放类型并在其中放入一些共享静态变量。
如何解决这个通用多态性缺陷?
隔江千里
倚天杖