Це більше документація, ніж справжнє питання. Здається, це ще не розглядалося на 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