Я пытаюсь создать метод расширения, который будет перемешать содержимое общей коллекции списков, независимо от его типа, но не уверен, что положить между < .. > как параметр. я помещаю объект? или Тип? Я хотел бы иметь возможность использовать это в любой коллекции List, которую у меня есть.Как указать параметр для метода расширения общего типа списка в C#
Спасибо!
public static void Shuffle(this List<???????> source)
{
Random rnd = new Random();
for (int i = 0; i < source.Count; i++)
{
int index = rnd.Next(0, source.Count);
object o = source[0];
source.RemoveAt(0);
source.Insert(index, o);
}
}
Мне нужно научиться печатать быстрее. Во всяком случае, 'IList' будет более общим. –
, когда я пытаюсь использовать все перечисленные методы, я получаю ... Аргумент '2': не может преобразовать из 'объекта' в 'Т' – Grant
@Grant: вам нужно изменить часть в середине, чтобы использовать «Т» вместо «объекта "(или добавить бросок). Как упоминал Джон, использование IList было бы более общим, хотя не все IList внедрить вставку, поэтому она может вообще не работать. –