泛型方法调用 - 没有从“IValue”到“IValueFox”的隐式引用转换。这段代码是怎么回事?
public interface IValueFox : IValue
{
...
}
private Mock<I> GenerateMockValue<I, T>(State state, T type)
where I : class, IValueFox
{
...
}
private void TestFoxValues()
{
var newFox = this.GenerateMockValue<IValue, object>(State.Red, null);
...
}
当我在方法“TestFoxValues”中调用“GenerateMockValue”时出现以下错误:
“IValue”不能用作泛型类型或方法“GenerateMockValue”中的类型参数“I”。没有从“IValue”到“IValueFox”的隐式引用转换。
但我不太明白的是,为什么需要任何转换,因为 IValueFox 实现了 IValue。任何人都可以为我澄清这个问题吗?
提前致谢!