EnvDTE:如何查找属性是否标记为虚拟

时间:2014-05-19 11:56:08

标签: t4 envdte

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

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

用伪代码说出来:

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

即,如何确定ce未标记为虚拟?

1 个答案:

答案 0 :(得分:3)

将CodeElement投射到CodeProperty2并检查其OverrideKind property