【发布时间】:2016-05-22 09:29:48
【问题描述】:
我有以下方法:
IResponseToModelConverter<U, IEntity> CreateConverter()
{
return new ResponseToItemConverter() as IResponseToModelConverter<U, IEntity>;
}
ResponseToItemConverter 继承自实现IResponseToModelConverter 的基类。
Item 是IEntity 的类型,我可以得到U 的类型。
有没有办法让它工作?
【问题讨论】:
-
如果 ResponseToItemConverter 没有直接实现这个接口,那么不,你不能。 C# 中没有鸭子打字。
-
它继承自实现接口的基类。我忘了提。
-
如果
U是具体类型并且ResponseToItemConverter碰巧实现了接口IResponseToModelConverter<U, IEntity>,或者在泛型类型参数@987654330 的情况下,它只会返回非空值@ 作为类实现相同接口的类型传入。 -
但是您必须发布围绕方法 CreateConverter 的类,以及接口和 ResponseToItemConverter 类以获得更好的答案。
-
@user6251216 不,它不继承自实现接口的基类。如果是这样,您就不会问这个问题,因为您不会得到
null结果。也许基类实现了一些其他的IResponseToModelConverter<,>实例化,但不是您要求的。