基类缺少接口方法... COM?

时间:2018-11-10 04:07:22

标签: c# .net visual-studio t4 envdte

我正在使用Microsoft的EnvDTE Assemblies,并且我注意到基本类型不包括最新接口所独有的方法/属性。例如,AddFromTemplateEx方法。

DTE dte = (DTE) ((IServiceProvider) Host).GetCOMService(typeof(DTE));
Solution4 solution = (Solution4)dte.Solution; //Solution4 is an interface
WriteLine(solution.GetType().FullName);

上面的代码写出:

EnvDTE.SolutionClass

但是EnvDTE.SolutionClass不包含AddFromTemplateEx()的实现。我很困惑,因为我仍然可以使用Solution4接口中的方法,但是我看不出在SolutionClass中是否没有实现它们。

这里发生了什么魔术? SolutionClass是MarshaledbyRef,其基本类型是System._ComObject ...这是否与基础COM对象上存在的接口实现有关,而不与基本类型有关?

0 个答案:

没有答案