Вам нужны общие параметры, объявленные в a
:
class a<T>
{
public T j;
}
Они также нужны в b
, чтобы иметь возможность получить из a
:
class b<T> : a<T> { }
и затем вы можете разыграть b<T>
на a<T>
:
a<int> foo = new b<int>();
Или вы можете получить от конкретного a
:
class b : a<int> { }
и затем разыграть:
a<int> foo = new b();