According to this for all generic class with reference types only one closed type generated. So when I declare static field in generic class, it should be common for all this types. But when I try to implement this behaviour, I get unexpected result:
class Generic<T>
{
public static int Number { get; set; }
}
class A { }
class B { }
Generic<A>.Number = 1;
Generic<B>.Number = 2;
Console.Write(Generic<A>.Number); // output is "1"
Console.Write(Generic<B>.Number); // output is "2"
Could anybody explain me this?