2017-08-24 46 views
0

代码:说法二:无法从方法组转换为InfoItem

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


public static class Validator 
{ 
    public static ValidationModel ValidateInt(InfoItem item) 
    { 
     ... 
    } 
} 

我收到错误:

Argument 2: cannot convert from method group to InfoItem

我已经在现场通过其他错误,走了,但我仍然处于亏损状态。签名的东西看起来是正确的,我认为这是网站上其他答案的错误!

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

回答

2

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

OUT项目总是在Func

+0

*叹*感谢兄弟 – FarmBoy

2

最后由于ValidateInt方法返回一个ValidationModel你的字典的值类型应该是Func<InfoItem, ValidationModel>。本编译:

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

再次感谢mm8! – FarmBoy

相关问题