使用.NET中的Reflection调用com实例方法

时间:2013-09-29 03:10:48

标签: c# reflection com system.reflection

我正在尝试使用Type.InvokeMember在运行时动态调用com对象中的方法。

我正在尝试执行的方法是DTE2.ExecuteCommandhttp://msdn.microsoft.com/en-us/library/vstudio/envdte._dte.executecommand.aspx)。

这是我正在使用的当前代码,似乎根本不起作用。

var DTE2 dte = ....;
var T = typeof(DTE2);
T.InvokeMember("ExecuteCommand",
                BindingFlags.InvokeMethod, 
                null,
                dte, 
                new object[] { "File.New", "" });

我收到以下错误

Method 'EnvDTE80.DTE2.ExecuteCommand' not found.

在进一步检查时,我确实在使用以下代码时看到了ExecuteCommand方法信息。

var methods = T.GetMethods();

所以我相信我需要将BindingFlags.InvokeMethod更改为其他内容。那会是什么?

0 个答案:

没有答案