Esto es más una documentación que una pregunta real. Esto no parece haber sido abordado en SO todavía (a no ser que me lo perdí), así que aquí va:¿Los miembros estáticos de una clase genérica están vinculados a la instancia específica?
imaginar una clase genérica que contiene un miembro estático:
class Foo<T> {
public static int member;
}
¿Hay una nueva instancia de la miembro para cada clase específica, o solo hay una instancia única para todas las clases de tipo Foo?
puede ser fácilmente verificado por código como este:
Foo<int>.member = 1;
Foo<string>.member = 2;
Console.WriteLine (Foo<int>.member);
Cuál es el resultado, y donde se documenta este comportamiento?
Respuesta breve: Hay una nueva instancia para cada clase * actual *, es decir, una para cada tipo de 'T' utilizada (' Foo 'y' Foo 'representan dos clases diferentes, y tendrán una instancia cada una, pero varias intancias de 'Foo ' compartirán una sola instancia de 'miembro'). Para un ejemplo más detallado, vea: http://stackoverflow.com/a/38369256/336648 –
Kjartan