2016-07-18 10 views
1

私はプログラミングで新しいです、特定の関数用のコードを書くと、これは以下のエラーがあります。このエラーを解決するのを手伝ってください。methodの型引数は、使用法から推論できません

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; 

エラー状態その方法 「EQM.DataLayer.EqmRepository.ExecuteEqmFunction(文字列、 ため

エラー42型引数文字列、params System.Data.Objects.ObjectParameter []) 'は、使用方法から推測される にはなりません。型引数を明示的に指定してみてください。あなたが最初の2

を供給しているの

それが言うのと同じように
+0

おそらくジェネリックメソッドである 'ExecuteEqmFunction'メソッドを表示する必要があります。 – user3185569

答えて

2

ExecuteEqmFunctionは3つのまたは4つの引数を期待して、私はコンテキストに欠けるが、私はなぜ知らない

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

をお試しくださいそうでない場合は、その範囲にparametersを作成してください。

+0

'params'を使用しないと、3番目の引数はオプションの引数配列になりますか? 1つのパラメータがない場合、コンパイラは生成*エラーAFAIKから推論できません。 – user3185569

+0

ええ、私はそれも考えました。しかし、余分なスペースから判断すると、私はOPや他の誰かがそこにいた3番目のパラメータを混乱させていると感じるか、OPが経験不足で、エラーを生成したコードを正確には出しませんでしたが、と遊ぶこと。わからない。 –

+0

このエラーは一般的な方法で表示されます。 'T'はパラメータ(コンパイラによって推論される唯一の方法です)の一部ではないので、このジェネリックメソッドに対して明示的に型引数を指定する必要があります。 – user3185569

1

あなたの質問を編集する際のエラーの定義には、それ以外の場合は表示されないため、が見つかりました。

メソッドExecuteEqmFunction<T>は汎用型であり、タイプTが必要です。汎用メソッドは、渡した引数からのみ型を推定します。あなたがタイプTを持つ任意の引数を持っていないので、あなたは明示的に型を指定する必要があります。Tを想定し

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

は、そのメソッドの戻り値の型です。

+0

ニース。     –

関連する問題