首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有类的NRefactory属性

带有类的NRefactory属性
EN

Stack Overflow用户
提问于 2013-10-10 21:55:35
回答 2查看 507关注 0票数 1

我试图用NRefactory找到所有的类和这个类上面的属性,但不幸的是我(还)无法做到这一点。

解决这个问题的最佳方法是什么?我能够找到属性,但是我如何确定它属于某个类呢?

EN

回答 2

Stack Overflow用户

发布于 2013-10-10 22:24:22

以下代码做到了这一点:

代码语言:javascript
复制
        StreamReader reader = new StreamReader(@"..\..\demo.cs");
        var tex = reader.ReadToEnd();

        var syntaxTree = new CSharpParser().Parse(tex, tex);

        var testClass = syntaxTree.Descendants.OfType<TypeDeclaration>().Single(x => x.ClassType == ClassType.Class);
        var testClassAttributes = testClass.Attributes.SelectMany(x => x.Attributes).ToArray();
票数 2
EN

Stack Overflow用户

发布于 2013-11-26 07:01:15

您可以使用以下方法:

代码语言:javascript
复制
IEnumerable<ICSharpCode.NRefactory.CSharp.Attribute> GetAttributes(TypeDeclaration typeDeclaration)
{
    return typeDeclaration.Members
        .SelectMany(member => member
            .Attributes
            .SelectMany(attr => attr.Attributes));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19297758

复制
相关文章

相似问题

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