2013-08-28 1 views
1

Работа с программой, в которой мне нужно передать три части информации методу, который, в свою очередь, создаст строку для таблицы из переданных данных.Передача общего списка для многопараметрического метода в C#

переменные:

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» не найден). Я надеялся, что кто-то скажет мне, как правильно использовать общий список в качестве параметра для метода. Я ценю любую помощь и совет!

ответ

5

Необходимо указать метод как общий.

Как это:

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

Обратите внимание на само название метода имеет общий параметр добавляется к нему.

+0

Могу ли я это сделать, хотя другие параметры не являются общими? – Kevin

+0

Да! Все, что делает, это позволить компилятору C# знать, что где-то в списке параметров будет общий тип, называемый 'T' – rossipedia

+0

Эй, это сработало! Спасибо! Как только наступит время, я отвечу. Я ценю помощь! – Kevin

Смежные вопросы