2017-08-24 47 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

相關問題