[英]Generic function implementing Interface
我试图调用一个泛型函数,它实现了一组属性接口。
代码如下:
public bool NeedsRenderAction<M, U>(M parent, U child)
where M : IVrsnProps
where U : IVrsnProps
{
return true;
}
我用以下方式称呼它。 从剃刀的角度来看。
bool x = NeedsRenderAction<LayoutVrsn, WidgetVrsn>(Model.SPV, widget);
该呼叫甚至没有达到该功能。 它出错:没有从'layoutvrsn对象'到'IVrsnProps'的隐式引用转换
任何关于PLZ的工作...............
看起来您传递的参数Model.SPV
没有实现IVrsnProps
接口,并且您在函数上定义的泛型约束阻止您执行它。 从您收到的错误消息判断,它看起来像SPV
属性是object
类型,显然与IVrsnProps
接口无关。
为此,您应该删除此通用约束或使您的SPV属性具有正确的类型:
public IVrsnProps SPV { get; set; }
对于您的第二个参数,当然也是如此。 您正在传递一些widget
变量,为此,此变量必须是实现IVrsnProps
接口的类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.