首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较FxCop TypeNode和System.Type

比较FxCop TypeNode和System.Type
EN

Stack Overflow用户
提问于 2015-11-27 11:45:42
回答 1查看 162关注 0票数 0

我有一个名为SearchableAttribute的属性,它标记类的属性。但是,只允许使用此string属性标记[Searchable]类型的属性。为了解决这个问题,我尝试编写一个CodeAnalysis规则,它分析类的属性,检查[Searchable]属性的存在,如果属性的类型不是string,则创建一个Problem

到目前为止,这是我在中所拥有的内容:

代码语言:javascript
复制
public override ProblemCollection Check(Member member) {
    PropertyNode property = member as PropertyNode;
    if (property == null) {
        return null;
    }

    if (property.Attributes.Any(a => a.Type.FullName.Equals((typeof(SearchableAttribute)).FullName)
            && !property.Type.FullName.Equals((typeof(string)).FullName)) {
        Resolution resolution = getResolution(property);
        Problem problem = new Problem(resolution);
        Problems.Add(problem);
    }

    return Problems;
}

虽然这确实有效,但我不敢相信.不,我不想相信我真的需要比较这个类型的全名。但是,我想不出如何正确地检查SearchableAttribute的存在,并将属性的类型与字符串进行比较。没有干净优雅的解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2015-12-02 15:11:09

Microsoft.FxCop.Sdk.FrameworkTypes.String应该能做到这一点。

FWIW,在框架类型和它们的FxCop TypeNode之间没有真正的桥梁,所有的映射都需要基于名称创建,理想情况下包括程序集的完全限定名。FrameworkTypes属性基本上为您提供了访问FxCop框架预先为您创建的映射的快捷方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33956687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档