这是一个比真正的问题更多的文档。这似乎不是已经对SO尚未解决(除非我错过了),所以这里有云:泛型类的静态成员是否与特定实例绑定?
试想一下,包含静态成员的通用类:
class Foo<T> {
public static int member;
}
是否存在的一个新实例每个特定类的成员,还是所有Foo类都只有一个实例?
Foo<int>.member = 1;
Foo<string>.member = 2;
Console.WriteLine (Foo<int>.member);
结果是什么,而这是哪里的行为记录在案:
它可以很容易地通过这样的代码验证?
简短回答:每个* actual *类都有一个新实例,即每个类型使用一个'T'('Foo'和'Foo '代表两个不同的类,每个类都有一个实例,但是'Foo '的几个实例将共享'member'的单个实例)。有关更详细的示例,请参阅:http://stackoverflow.com/a/38369256/336648 –
Kjartan
2016-07-14 08:45:46