Я хотел бы определить метод, который принимает массив как параметр, но этот массив может иметь любой ранг. Ранг будет определен отдельным параметром. Что-то, чтобы заменить/обобщают следующее:C#: Есть ли способ определить параметр массива метода нестандартного ранга?
// one dimensional array
public void WorkOnJaggedArray<T>(int rank, int[] dimensions, T[] data)
{
/* code */
}
// two dimensional array
public void WorkOnJaggedArray<T>(int rank, int[] dimensions, T[][] data)
{
/* code */
}
// three dimensional array
public void WorkOnJaggedArray<T>(int rank, int[] dimensions, T[][][] data)
{
/* code */
}
// and so on...
Учитывая, что у меня есть ранг и размер каждого измерения прошедшего, я должен быть в состоянии обобщить код внутри моего метода. Есть ли хороший способ добиться того, о чем я прошу?
К сожалению, нет. Я упростил свой вопрос здесь, но это будет частью более крупного API, и «данные» должны быть переданы таким образом. – mbadawi23
Я в замешательстве. Почему бы вам не использовать 'params'? – Eris
Мне непонятно, как «params» можно использовать здесь для моей проблемы. Вызывающий метод должен отправить в один * неровный массив *, а не список переменных параметров. – mbadawi23