У меня есть эта функция:
public static IList<T> myFunction<T>(IList<T> listaCompleta, int numeroPacchetti)
{
return listaCompleta;
}
, но если я пытаюсь вызвать ее с помощью:
IList<SomeObject> listPacchetti = (from SomeObject myso in SomeObjects
select myso).ToList();
listPacchetti = myFunction(listPacchetti, 1);
Когда я компилирую, он говорит The type arguments for method 'myFunction<T>(IList<T>, int)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
Дело в том, что мне нужно использовать IList (или индексы коллекции, а не IEnumerable), и мне нужно передать универсальный объект в функцию (на этот раз IList<SomeObject>
, в следующий раз может быть IList<AnotherObject>
)
Могу ли я это сделать?Или как насчет этого?Я думаю, что я не могу использовать IList в качестве аргумента типа ...
РЕДАКТИРОВАТЬ - Полный код
Я ВЫЗЫВАЮ ФУНКЦИЮ ИЗ ДРУГОГО КЛАССА
IList<Packet> listPacchetti = (from Packet pack in Packets
select pack).ToList();
listPacchetti = Utility.Extracts<Packet>(listPacchetti, 6);
КЛАСС С ФУНКЦИЕЙ
public class Utility
{
public Utility()
{
}
public static IList<T> Extracts<T>(IList<T> listaCompleta, int numeroPacchetti) // HERE THERE IS THE LINE WITH WARNINGS
{
return listaCompleta;
}
}