このような汎用クラスXXValueがあり、型 T は値型または参照型 (int、string、struct オブジェクトなど) にすることができます。
public class XXValue<T>
{
public T DefaultValue;
}
そして、別の汎用クラスXXAttributeがあります
public class XXAttribute<T>
{
public T Value;
}
しかし、 XXAttribute の型 T は、型XXValueのクラスまたはサブクラス でなければなりません。どちらが正しいですか?
public class XXAttribute<T> where T : XXValue<T>
public class XXAttribute<VT, AT> where AT : XXValue<VT>