c# - Roslyn:为什么许多 SymbolDisplay 方法在 ISymbol 上有等效的实例对应物?

标签 c# .net roslyn

只是好奇,我注意到在 Roslyn 中对符号进行字符串化时,似乎有两种方法可以做同样的事情。您可以:

// symbol is type ISymbol
var symbolText = symbol.ToDisplayString();

var symbolText = SymbolDisplay.ToDisplayString(symbol);

ToMinimalDisplayStringToDisplayPartsToMinimalDisplayParts 也是如此。为什么 Roslyn 团队决定添加这两个 API 而不是将 SymbolDisplay 静态方法内部化?

最佳答案

SymbolDisplay 类位于 CSharp 命名空间中。它是在 C# 显示样式中格式化符号的实际实现。当您调用 symbol.ToDisplayString() 时,您将获得使用符号声明语言的符号格式,它可能是 VB 而不是 C#。

关于c# - Roslyn:为什么许多 SymbolDisplay 方法在 ISymbol 上有等效的实例对应物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45778763/

相关文章:

.net - Krypton Controls 在 Windows 7 机器上表现得很奇怪

reflection - roslyn 是反射相关任务的合理替代品吗?

c# - .NET Flag Enum 从值中获取属性

c#:如何在页面重定向到另一个页面之前在客户端中显示成功消息

c# - 如何从 C# 调用 PHP api?(简单示例)

c# - 迭代数组并将强类型添加到列表中

c# - 如何在从 asp.net c# 中的另一个下拉列表中选择项目后将项目加载到下拉列表中

c# - 如何使用计时器每 x 秒更改一次标签文本

c# - 在解决方案中使用 Roslyn 检索所有类型

c# - EditorConfig - 如何在自定义分析器中访问 editorconfig 规则设置