方法的类型参数无法从用法中推断出来

本文关键字:用法 推断出 类型参数 方法 | 更新日期: 2023-09-27 17:57:17

我是编程新手,当我为特定函数编写代码时,我发现以下错误。请帮助我解决此错误。

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, string, params System.Data.Objects.ObjectParameter[])' 不能是 从使用情况推断。尝试显式指定类型参数。

方法的类型参数无法从用法中推断出来

正如

它所说,ExecuteEqmFunction期待 3 或 4 个参数,其中你提供了前 2 个。

尝试

ObjectResult items = ExecuteEqmFunction("SyncUpdateOnColumn", string.Empty, parameters);

我缺乏上下文,但我不知道如果不提供它,为什么你会在这个范围内构建parameters

正如我在编辑您的问题时在错误定义中发现的那样,否则它不可见

方法ExecuteEqmFunction<T>是泛型的,需要类型T。 泛型方法仅从传递的参数推断类型。由于类型 T 没有任何参数,因此需要显式指定该类型:

 ObjectResult items = ExecuteEqmFunction<ObjectResult>("SyncUpdateOnColumn", 
                                                                 string.Empty, parameters);

假设T是该方法的返回类型。