Próbuję zaimplementować opartą na refleksach bibliotekę z opóźnieniem do pakietu Microsoft Office. Właściwości i metody obiektów Offce COM nazywane są w następujący sposób:Wywołanie tego [indeksu int] za pomocą refleksji
Type type = Type.GetTypeFromProgID("Word.Application");
object comObject = Activator.CreateInstance(type);
type.InvokeMember(<METHOD NAME>, <BINDING FLAGS>, null, comObject, new object[] { <PARAMS>});
InvokeMember jest jedynym możliwym sposobem, ponieważ Type.GetMethod/GetProperty działa nieprawidłowo z obiektami COM.
Metody i właściwości mogą być wywoływane za pomocą InvokeMember ale teraz muszę rozwiązać następujący problem:
Method w opakowaniu biurowo-międzyoperacyjne:
Excel.Workbooks wb = excel.Workbooks;
Excel.Workbook firstWb = wb[0];
odpowiednio
foreach(Excel.Workbook w in excel.Workbooks)
// doSmth.
Jak czy mogę wywołać tego operatora [indeksu indeksu] w Excel.Workbooks przez odbicie?
http://stackoverflow.com/questions/6202523/is-listi-an-alias-for-list-get-itemi-in-c – Rover