Универсальный метод расширения C# компилируется, но непригоден для использования?C#

Место общения программистов C#
Anonymous
Универсальный метод расширения C# компилируется, но непригоден для использования?

Сообщение Anonymous »

Я пытаюсь написать универсальный метод расширения для добавления фиксированной матрицы к «эластичной» матрице. Метод расширения компилируется, и (я предполагаю) его код отлично работает в обычном методе. Зная, что я буду часто использовать эту функцию для разных типов, я бы предпочел разобраться в этой проблеме, а не хромать с пластырем:

public void AddMatrix(this List MyList, T[,] Matrix)
{
if (MyList == null) throw new ArgumentNullException("MyList");
if (Matrix == null) throw new ArgumentNullException("Matrix");

for (int i = 0; i < Matrix.GetLength(0); i++)
{
T[] aLine = new T[Matrix.GetLength(1)];
for (int j = 0; j < Matrix.GetLength(1); j++)
aLine[j] = Matrix[i, j];
MyList.Add(aLine);
}
}
public void testAddMatrix()
{
List aMyBigMatrix = new List();
string[,] aSmallerMatrix =
{
{
"foo",
"bar",
"what"
}
};

aMyBigMatrix.AddMatrix(aSmallerMatrix); // .AddMatrix is not showing up here in Intellisense?
}

Вернуться в «C#»