【问题标题】:What EnvDTE interface is used for Event members?事件成员使用什么 EnvDTE 接口?
【发布时间】:2014-08-19 17:45:07
【问题描述】:

我正在使用 T4 模板中的 EnvDTE 接口,在 VS2012 中运行。我得到了一个 IEnumerable<CodeElement> 的类对象并试图提取有关成员的信息。

根据EnvDTE documentation,有几个接口用于表示各种类型的 CodeElement 对象并提取有关它们的更深入的信息。我现在要查找的具体项目是 DocComment 属性,例如 on the CodeDelegate interface

我遇到了一个问题,我有一个 Event 成员,但不知道我可以将其转换为的类型。

foreach (CodeElement member in codeClass.Children){
    if (member.Kind == EnvDTE.vsCMElement.vsCMElementEvent){
        #><#= (({CastInterface})member).DocComment #><#
    }
}

{CastInterface} 应该怎样才能访问元素的 DocComment?

【问题讨论】:

标签: c# visual-studio visual-studio-2012 t4


【解决方案1】:

CodeEvent 隐藏在 EnvDTE80 程序集中。所以添加:

<#@ Assembly Name="EnvDTE80" #>

<#@ import namespace="EnvDTE80" #>

你应该可以转换为 CodeEvent

【讨论】:

    猜你喜欢
    • 2010-10-13
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 2011-11-01
    • 2011-06-15
    • 2014-01-23
    相关资源
    最近更新 更多