给定以下类和接口:
public class Test<T>
{
}
public interface ITesting<T>
{
Test<T> LoadTest();
}
我可以添加一个具有以下内容的类:
public class TestManager : ITesting<object>
{
#region ITesting
public Test<object> LoadTest()
{
return new Test<object>();
}
#endregion
}
哪个工作正常并且不会引发错误。如果我尝试用以下内容替换该类:
public class TestDerived : Test<object>
{
}
public class TestDerivedManager : ITesting<object>
{
#region ITesting
public TestDerived LoadTest()
{
return new TestDerived();
}
#endregion
}
我现在收到以下错误:
错误“TestDerivedManager”未实现接口成员“ITesting.LoadTest()”。“TestDerivedManager.LoadTest()”无法实现“ITesting.LoadTest()”,因为它没有匹配的返回类型“Test”。
但对我来说,这似乎应该按原样TestDerived
工作Test<object>
。我显然在这里没有正确理解某些东西。有人可以指出我为什么这是不正确的详细信息吗?可能我会做些什么来纠正它?