在以下代码中:
interface IMyInterface<X>
{
X Get();
}
class MyInterface : IMyInterface<int>
{
int Get();
}
class MyClass<T, U> where T : IMyInterface<U>
{
U Value;
}
U 始终是 T 的函数。但是,要使用 MyClass,我必须这样做:
MyClass<MyInterface, int> instance;
如果我可以输入:
MyClass<MyInterface> instance;
并暗示 U 是一个 int。无论如何要重组我的代码,所以我不需要像那样指定 U 吗?