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!!再次感谢你!!