【问题标题】:EnvDTE: How to find if a property is marked as virtualEnvDTE:如何查找属性是否标记为虚拟
【发布时间】:2014-05-19 11:56:07
【问题描述】:

我正在整理一个模板,用于为实体框架生成的类创建伙伴类 -> 逆向工程师代码优先上下文菜单项。

我真的不想包含标记为虚拟的导航属性。那么如何使用 CodeProperty 接口(或其他 EnvDTE 代码)发现属性是否被标记为虚拟?

用伪代码说:

<# foreach (CodeElement ce in classInFile.Members)
        { 
            if (ce.Kind == vsCMElement.vsCMElementProperty && [ce not marked as virtual]) 
            {
                WriteDisplayName(ce); 
                WriteProperty(ce);
                WriteLine("");
            }
        } #>

即,我如何确定ce没有被标记为虚拟?

【问题讨论】:

    标签: t4 envdte


    【解决方案1】:

    将 CodeElement 转换为 CodeProperty2 并检查其 OverrideKind property

    【讨论】:

    • 这听起来是对的,但是当我尝试使用 EnvDTE80 时,我与我使用的有形 T4 库发生了冲突,所以我避而远之。我将再看看为什么会发生这种冲突。我很确定您的答案是正确的答案,因此已将其投票并将其(临时)标记为答案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 2015-09-20
    • 2010-10-06
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    相关资源
    最近更新 更多