Это скорее документация, чем реальный вопрос. Похоже, что это еще не решено на SO (если я не пропустил это), так что вот:
Представьте себе универсальный класс, содержащий статический член:
class Foo<T> {
public static int member;
}
Есть ли новый экземпляр члена для каждого конкретного класса или есть только один экземпляр для всех классов типа Foo?
Это легко проверить с помощью такого кода:
Foo<int>.member = 1;
Foo<string>.member = 2;
Console.WriteLine (Foo<int>.member);
Каков результат и где задокументировано это поведение?
T
используемого типа (Foo<int>
иFoo<string>
представляют два разных класса, и каждый будет иметь по одному экземпляру, но несколько экземпляровFoo<int>
будут совместно использовать один экземплярmember
). Для более подробного примера см .: stackoverflow.com/a/38369256/336648