C # очищает массивы строковых массивов и передает их в качестве параметров - PullRequest
0 голосов
/ 28 марта 2012

В моем приложении winform у меня есть массив, содержащий динамическое число строковых массивов.Мне нужно как-то удалить каждый строковый массив из списка массивов, а затем использовать эти строковые массивы в качестве параметров для функции.Количество строковых массивов в массиве может варьироваться, поскольку они создаются динамически.

Объявление метода:

public void mychartbuilder(string[] Column1, string[] Column2 = null, string[] Column3 = null, string[] Column4 = null)

Следующее вызывает самую большую головную боль.Поскольку в списке есть динамическое количество массивов, я не могу определить, как вытащить их, а затем отправить их в функцию в качестве параметров.

foreach (string[] myarray in myArrayList)
    {
        string[] copy1 = new string[rcounter];
    }
mymethods.mychartbuilder(//string array parameters will go here)

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 28 марта 2012
while(arrayList.Count < 4)
{
  arrayList.Add(null);
}

mychartbuilder((string[])arrayList[0], (string[])arrayList[1], (string[])arrayList[2], (string[])arrayList[3]);

Обратите внимание, что вы можете использовать List<string[]> вместо ArrayList, чтобы избежать всех приведений.

0 голосов
/ 28 марта 2012

Я думаю, что вы можете пойти с отражением, чтобы вызвать его: http://msdn.microsoft.com/en-us/library/a89hcwhh.aspx

public Object Invoke(
Object obj,
Object[] parameters
)

Вызов будет принимать несколько параметров, и все, что вам нужно, это изменить ArrayList на Object []

...