你能帮我理解这种情况下的错误吗?
public interface IGeneralInterface
{
}
public class A : IGeneralInterface
{
}
public class B : IGeneralInterface
{
}
public class SomeClass<TGenericType> where TGenericType : IGeneralInterface
{
private TGenericType internalValue;
public SomeClass(TGenericType InitValue)
{
internalValue = InitValue;
}
public TGenericType CreateAnother()
{
TGenericType val1 = new B(); //Error here: class B() could not be converted to TGenericType
return val1;
}
}
即使我建立SomeClass<T>
as
SomeClass<IGeneralInterface> someClass = new SomeClass<IGeneralInterface>();
我明确传递基本接口以包含所有(?)案例,但它仍然抛出错误