.NET 4.x Зачем точно нужен DispatchWrapper в данном коде? - C#
Формулировка задачи:
Есть в документации одного API такая штука:
Соответственно дальше этот массив передаётся в метод COM-сервера. Метод принимает просто или любого другого
public DispatchWrapper[] ObjectArrayToDispatchWrapperArray(object[] Objects)
{
int ArraySize = 0;
ArraySize = Objects.GetUpperBound(0);
DispatchWrapper[] d = new DispatchWrapper[ArraySize + 1];
int ArrayIndex = 0;
for (ArrayIndex = 0; ArrayIndex <= ArraySize; ArrayIndex++)
{
d[ArrayIndex] = new DispatchWrapper(Objects[ArrayIndex]);
}
return d;
}Object
Вопроса собственно два.
1) Зачем нужно создавать массив DispatchWrapper?
2) Всегда ли нужно передавать вместо, к примеру Object[]
List<T>.ToArray() в методы COM-сервера именно этот DispatchWrapper? Решение задачи: «.NET 4.x Зачем точно нужен DispatchWrapper в данном коде?»
textual
Листинг программы
object bodies = COMServerModel.GetAllBodies(includeHidden: true); //В реальности тут // возвращается массив object, // но можно кастануть на какой нибудь' //класс того COM-сервера "ComponentBody" someCOMserverObject.GetBodiesVolume(ObjectArrayToDispatchWrapperArray(bodies));