1

3 つの情報をメソッドに渡す必要があるプログラムに取り組んでいます。メソッドは、渡されたデータからテーブルの行を作成します。

変数は次のとおりです。

var runningTally = new Dictionary<string, Dictionary<string, int>>();
var comments = query.ToList();
var columns = query.ToList();

このメソッドを次のように呼び出します。

tReport.Rows.Add(row);
foreach (var key in _masterList.Keys)
{
    CreateRow(key, runningTally, columns);
} 

メソッドの署名が次のようになることを望んでいました。

private void CreateRow(string key, IDictionary<string, Dictionary<string, int>>
 runningTally, List<T> columns)

しかし、それは機能しません (エディターは、タイプ 'T' が見つからないと不平を言います)。メソッドのパラメーターとして汎用リストを適切に使用する方法を誰かが教えてくれることを期待していました。助けやアドバイスをいただければ幸いです。

4

1 に答える 1

5

メソッドをジェネリックとしてマークする必要があります。

このような:

private void CreateRow<T>(string key, IDictionary<string, Dictionary<string, int>>
 runningTally, List<T> columns)

メソッド名自体にジェネリック パラメータが追加されていることに注意してください。

于 2013-08-28T16:45:24.877 に答える