У меня есть экземпляр COM-объекта..., который создается как это:
Type type = TypeDelegator.GetTypeFromProgID("Broker.Application");
Object application = Activator.CreateInstance(type);
Когда я пытаюсь вызвать метод:
type.GetMethod("RefreshAll").Invoke(application, null);
-> type.GetMethod("RefreshAll")
возвраты null
. Когда я пытаюсь получить все методы с type.GetMethods()
, существуют только эти методы:
Где Метод RefreshAll? И как я могу вызвать его?
Вы не можете использовать GetMethod для COM объектов, вы должны использовать другой способ:
this.application.GetType().InvokeMember("RefreshAll", BindingFlags.InvokeMethod, null, this.application, null);
Я использую этот способ в старом проекте, использующем COM, так что вы должны быть в порядке.
this.application.GetType().InvokeMember("RefreshAll", BindingFlags.InvokeMethod, null, this.application, null);
Я использую этот способ в старом проекте, который использует COM, так что он должен работать нормально для вас.