参数2:无法从方法组转换为InfoItem

时间:2017-08-24 16:46:19

标签: c#

代码:

f()

我收到错误:

  

参数2:无法从方法组转换为InfoItem

我已经完成了网站上的其他错误,但我仍然感到茫然。事情的签名对我来说是正确的,我认为这是网站上其他答案的错误!

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

public static ValidationModel ValidateInt(InfoItem item)是一个 Func<InfoItem, ValidationModel>,而不是Func<ValidationModel, InfoItem>

输出项目始终位于Func

答案 1 :(得分:2)

由于ValidateInt方法返回ValidationModel,因此字典的值类型应为Func<InfoItem, ValidationModel>。这编译:

Dictionary<ValidationType, Func<InfoItem, ValidationModel>> itemValidator = new Dictionary<ValidationType, Func<InfoItem, ValidationModel>>()
{
    { ValidationType.Int32, Validator.ValidateInt }
};