Si tenta di implementare una libreria tardiva basata su reflection in Microsoft Office. Le proprietà ei metodi degli oggetti COM offce sono chiamate nel seguente modo:Chiamare questo [int index] tramite riflessione
Type type = Type.GetTypeFromProgID("Word.Application");
object comObject = Activator.CreateInstance(type);
type.InvokeMember(<METHOD NAME>, <BINDING FLAGS>, null, comObject, new object[] { <PARAMS>});
InvokeMember è l'unico modo possibile perché Type.GetMethod/GetProperty funziona in modo non corretto con gli oggetti COM.
Metodi e proprietà può essere chiamato con InvokeMember ma ora devo risolvere il seguente problema:
Metodo nella confezione ufficio di interoperabilità:
Excel.Workbooks wb = excel.Workbooks;
Excel.Workbook firstWb = wb[0];
rispettivamente
foreach(Excel.Workbook w in excel.Workbooks)
// doSmth.
Come posso chiamare questo operatore [int index] di Excel.Workbooks tramite riflessione?
http://stackoverflow.com/questions/6202523/is-listi-an-alias-for-list-get-itemi-in-c – Rover