我是编程的新手,当我为特定函数编写代码时,我发现以下错误。请帮我解决这个错误。
public IList<ScoreCardListItemTO> UpdateDate(bool IsScoreCardUpdate, bool IsInputHeaderUpdate, long ScoreCardId,
long ScoreCardSubmitResponseId, long QuestionId, DateTime UpdatedOn)
{
var parameters = new[]
{
new ObjectParameter("IsScoreCardUpdate", IsScoreCardUpdate ),
new ObjectParameter("IsInputHeaderUpdate", IsInputHeaderUpdate ),
new ObjectParameter("ScoreCardId", ScoreCardId ),
new ObjectParameter("ScoreCardSubmitResponseId", ScoreCardSubmitResponseId ),
new ObjectParameter("QuestionId", QuestionId),
new ObjectParameter("UpdatedOn", UpdatedOn),
};
ObjectResult items = ExecuteEqmFunction("SyncUpdateOnColumn", string.Empty );
return items;
}
错误显示在此行
ObjectResult items = ExecuteEqmFunction("SyncUpdateOnColumn", string.Empty );
return items;
错误状态
错误42方法的类型参数 “EQM.DataLayer.EqmRepository.ExecuteEqmFunction(字符串, string,params System.Data.Objects.ObjectParameter [])'不能 从用法推断。尝试明确指定类型参数。
答案 0 :(得分:2)
就像它说的那样,ExecuteEqmFunction
期待3或4个参数,其中你提供了前2个参数。
尝试
ObjectResult items = ExecuteEqmFunction("SyncUpdateOnColumn", string.Empty, parameters);
我缺乏背景信息,但我不知道为什么你不在那个范围内建立parameters
,如果不提供它。
答案 1 :(得分:2)
正如我在编辑问题时在错误定义中发现的那样,因为它不可见。
方法ExecuteEqmFunction<T>
是通用的,需要类型T
。通用方法仅从您传递的参数中推断出类型。由于您没有类型T的任何参数,因此需要明确指定该类型:
ObjectResult items = ExecuteEqmFunction<ObjectResult>("SyncUpdateOnColumn",
string.Empty, parameters);
假设T
是该方法的返回类型。