配列をパラメータとして受け入れるメソッドを定義したいと思いますが、この配列のランクは任意です。ランクは別のパラメータで指定します。何かが次のことを一般化/交換する: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の一部になるでしょう。そして、 'data'はそのように渡される必要があります。 – mbadawi23
私は混乱しています。なぜあなたは 'params'を使わないでしょうか? – Eris
私の問題のためにここで 'params'がどのように使われるのかはわかりません。メソッドの呼び出し側は、パラメータの可変リストではなく、1つの*ジグザグ配列で送る必要があります。 – mbadawi23