我嘗試爲Microsoft Office實現基於反射的後期綁定庫。 的性質和Offce COM對象的方法被調用方式如下:通過反射調用[int index]
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被調用,但現在我必須解決以下問題:
在辦公室,互操作包裝方法:
Excel.Workbooks wb = excel.Workbooks;
Excel.Workbook firstWb = wb[0];
分別
foreach(Excel.Workbook w in excel.Workbooks)
// doSmth.
如何我可以通過反射調用Excel.Workbooks的[int index]運算符嗎?
http://stackoverflow.com/questions/6202523/is-listi-an-alias-for-list-get-itemi-in-c – Rover