在以下代码中:
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?