Что я хотел бы сделать, так это уметь передавать любое количество переменных в функцию, манипулировать этими переменными внутри функции и иметь доступ к этим манипуляциям вне области действия функции.
Пример
void FunctionA()
{
int x = 1;
string s = "blah";
int y = 4;
FunctionB(out x, out s, out y);
Console.WriteLine("{0}, {1}, {2}", x, s, y);
}
void FunctionB(out params object[] parameters)
{
for(int ii = 0; ii < parameters.Length; ii++)
{
if(parameters[ii] is int) parameters[ii] = (int)parameters[ii] + 1;
}
}
После вызова FunctionA () на консоли должно быть «2, бла, 5». Есть ли способ сделать это, за исключением возврата объекта [] и анализа нужных мне переменных?
Для пояснения, вот что я пытаюсь сделать. Передайте byte [] в функцию вместе с множеством переменных. Попытайтесь прочитать информацию из байта [] и назначить ее переменным, которые были переданы. Поэтому, если у меня есть int, строка и другое int, записанные в байт [], и я передаю что-то вроде:
int x, y;
string s;
byte[] info = ...;
FunctionB(info, x, s, y);
Console.WriteLine("{0}, {1}, {2}", x, s, y);
Выводит информацию из байта [].