只是好奇,我注意到在 Roslyn 中对符号进行字符串化时,似乎有两种方法可以做同样的事情。您可以:
// symbol is type ISymbol
var symbolText = symbol.ToDisplayString();
或
var symbolText = SymbolDisplay.ToDisplayString(symbol);
ToMinimalDisplayString
、ToDisplayParts
和 ToMinimalDisplayParts
也是如此。为什么 Roslyn 团队决定添加这两个 API 而不是将 SymbolDisplay
静态方法内部化?
最佳答案
SymbolDisplay 类位于 CSharp 命名空间中。它是在 C# 显示样式中格式化符号的实际实现。当您调用 symbol.ToDisplayString() 时,您将获得使用符号声明语言的符号格式,它可能是 VB 而不是 C#。
关于c# - Roslyn:为什么许多 SymbolDisplay 方法在 ISymbol 上有等效的实例对应物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45778763/