我的代码如下
class BaseClass<T> where T : class
{
class DerivedClass<U, V>
where U : class
where V : U
{
BaseClass<V> _base;
}
}
Run Code Online (Sandbox Code Playgroud)
错误:类型"V"必须是引用类型.
这里的类型类不是'V'吗?
您可以通过向type参数添加class约束来解决此问题V:
class BaseClass<T> where T : class
{
class DerivedClass<U, V>
where U : class
where V : class, U
{
BaseClass<V> _base;
}
}
Run Code Online (Sandbox Code Playgroud)
有关解释,请参阅Eric Lippert的文章(由Willem van Rumpt评论).