Мои пользователи передают мне массив некоторого типа, скажем, int [] или string []. Я могу легко запросить типы элементов через GetElementType и узнать, сколько времени длился массив, когда он был передан мне через GetRank, GetLength и т. Д.
Массивы передаются в списке параметров, поэтому визуализируйте код следующим образом:
public void Resizer(params object[] objs)
{
foreach (object o in objs)
Array.Resize(ref o, 3);
}
То, что я хотел бы сделать, - это противоположность методов Get, которые доступны и которые работают: я хочу изменить размер переданного мне массива, установив длину на другую длину (например, 3 в этом глупом примере) ).
Я делаю это, потому что в моих настройках массив будет содержать данные, полученные от набора серверов облачных вычислений, и мы не можем знать, сколько из них ответит заранее, поэтому не можем предварительно выделить массив, чтобы иметь правильную длину , В идеале, фактически, мой пользователь передает массив длины 0, а я передаю обратно массив длины n, что означает, что я получил n ответов от серверов, которые были запросами.
Я не могу сделать это с Array.Resize (ref T, int), потому что я не знаю T во время компиляции.
Есть ли способ это осуществить?