将泛型列表传递给C#中的多参数方法

本文关键字:参数 方法 泛型 列表 | 更新日期: 2023-09-27 18:29:33

在一个程序中,我需要将三条信息传递给一个方法,该方法将根据传入的数据为表创建一行。

变量为:

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")。我希望有人能告诉我如何正确地使用泛型列表作为方法的参数。我感谢任何帮助和建议!

将泛型列表传递给C#中的多参数方法

您需要将该方法标记为泛型。

像这样:

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

注意,方法名称本身添加了泛型参数。