Я хочу иметь возможность редактировать любой или большинство типов общих списков, использующих индексатор в C #, например:
void testIList(System.Collections.IList someList)
{
for (int i = 0; i < someList.Count; i++)
{
someList[i] = someList.Count - i;
}
}
void test()
{
int[] intArray = new int[10];
List<int> intList = new List<int>();
List<string> stringList = new List<string>();
for(int i=0;i<10;i++)
{
intList.Add(0);
stringList.Add("test");
}
testIList(intArray);
testIList(intList);
testIList(stringList);
}
Код работает, но, конечно, нет ошибки времени компиляциидля testIList (stringList), что нежелательно.
Кроме того, есть ли в testIList бокс и распаковка, которых я могу избежать, используя более конкретную универсальную коллекцию в качестве типа в параметре?