title: Sharing static fields among different generic class instances
body: <p>I know that a generic type will not be shared among instances of different close constructed types. This means that for a generic class <code>C&lt;T&gt;</code> which has a static field <code>X</code>, the values of <code>C&lt;int&gt;.X</code> and <code>C&lt;string&gt;.X</code> have completely different, independent values.<br>
  In my case I really need to have a static field shared between instances with different generic arguments.
  The only solution i found was "<em>define a non-generic base class to store your static members, then set your generic type to inherit from this type.</em>"<br>
  The problem is that my class is already inherit from other .net class.<br>
  Is there other way to solve this?</p>