Я пытаюсь внедрить библиотеку поздней привязки на основе отражения в Microsoft Office. Свойства и методы объектов Offce COM называются следующим образом:
Type type = Type.GetTypeFromProgID("Word.Application");
object comObject = Activator.CreateInstance(type);
type.InvokeMember(<METHOD NAME>, <BINDING FLAGS>, null, comObject, new object[] { <PARAMS>});
InvokeMember является единственным возможным способом, поскольку Type.GetMethod/GetProperty работает неправильно с объектами COM.
Способы и свойства можно вызвать с помощью InvokeMember, но теперь я должен решить следующую проблему:
Метод в оболочке office-interop:
Excel.Workbooks wb = excel.Workbooks;
Excel.Workbook firstWb = wb[0];
соответственно
foreach(Excel.Workbook w in excel.Workbooks)
// doSmth.
Как я могу вызвать этот оператор [int index] Excel.Workbooks через отражение?