繁体   English   中英

实现接口的通用功能

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM