Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 参数2:无法从方法组转换为InfoItem_C# - Fatal编程技术网

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

C# 参数2:无法从方法组转换为InfoItem,c#,C#,代码: Dictionary<ValidationType, Func<ValidationModel, InfoItem>> itemValidator = new Dictionary<ValidationType, Func<ValidationModel, InfoItem>>() { { ValidationType.Int32, Validator.ValidateInt } } public static class

代码:

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)
    {
        ...
    }
}
Dictionary itemValidator=new Dictionary()
{
{ValidationType.Int32,Validator.ValidateInt}
}  
公共静态类验证器
{
公共静态ValidationModel ValidateInt(信息项)
{
...
}
}
我得到一个错误:

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

我已经经历了网站上的其他错误,但我仍然不知所措。在我看来,这些东西的签名是正确的,我认为这是网站上其他答案的错误


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

公共静态验证模型验证int(InfoItem项)是一个
Func
,而不是
Func


Out项始终是Func中的最后一个

公共静态验证模型验证项(InfoItem项)
Func
,而不是
Func


Out项始终是
Func
中的最后一项,因为
ValidateInt
方法返回一个
ValidationModel
字典的值类型应该是
Func
。这包括:

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

由于
ValidateInt
方法返回一个
ValidationModel
,因此字典的值类型应该是
Func
。这包括:

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

再次感谢mm8!!再次感谢你!!