相关疑难解决方法(0)

从罗斯林的符号中获取类型

对于不同类型的符号,从Microsoft.CodeAnalysis.ISymbol获取System.Type的最佳通用方法是什么?(例如类声明,变量,属性等)

我希望能够对类型进行各种检查,例如检查类型是否实现任何接口,或者是否可以转换为任何接口,就像可以检查System.Type一样.

我遇到的问题是,用于表示符号的大多数具体类都是内部的(请参阅http://source.roslyn.io/),我在ISymbol中找不到tye类型信息.

  • SourceNamedTypeSymbol
  • LocalSymbol

我使用以下代码检索ISymbol

var objectSymbol = (ISymbol)model.GetDeclaredSymbol(obj.Node);
Run Code Online (Sandbox Code Playgroud)

.net c# reflection roslyn roslyn-code-analysis

8
推荐指数
1
解决办法
6482
查看次数

获取嵌套类型的 ITypeSymbol 全名?

我有一个ITypeSymbol嵌套类型 ( MyNamespace.MyOuter.Nested) 并尝试使用以下方法获取该类型的全名:

typeSymbol.ToDisplayString(new SymbolDisplayFormat(
    SymbolDisplayGlobalNamespaceStyle.Omitted,
    SymbolDisplayTypeQualificationStyle.NameAndContainingTypesAndNamespaces,
    SymbolDisplayGenericsOptions.IncludeTypeParameters,
    miscellaneousOptions: SymbolDisplayMiscellaneousOptions.ExpandNullable
));
Run Code Online (Sandbox Code Playgroud)

反射返回全名MyNamespace.MyOuter+Nested- 如何从 Roslyn 获取完全相同的字符串?上面的显示格式返回MyNamespace.MyOuter.Nested:-(

.net c# roslyn

6
推荐指数
0
解决办法
1150
查看次数

我们可以从Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax获取System.Type吗?

我们可以从Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax获取System.Type或基本上完全限定的类型名称吗?问题是,TypeSyntax返回类型的名称,因为它是在代码中编写的,可能不是完全合格的类名,我们无法从中找到Type.

c# roslyn roslyn-code-analysis

3
推荐指数
1
解决办法
1233
查看次数

如何从 Roslyn 中的 using 指令获取完全限定的命名空间?

当您将鼠标悬停using在 VS2015 中的“简化”指令上时,它会显示完全限定名称。我如何通过 Roslyn 插件获取这些信息?它会使用DiagnosticAnalyzer? 一个CodeFixProvider

阅读 source.roslyn.codeplex.com,那里有大量信息,包括如何添加using语句,以及如何简化类型名称(包括using语句),但我无法弄清楚如何反向获取完全限定的名称。

c# roslyn

3
推荐指数
1
解决办法
1609
查看次数

标签 统计

c# ×4

roslyn ×4

.net ×2

roslyn-code-analysis ×2

reflection ×1