C# Roslyn:为什么许多SymbolDisplay方法在ISymbol上有等效的实例对应项?
只是好奇,我注意到在Roslyn中,当涉及到串符号时,似乎有两种方法可以做同样的事情。您可以执行以下任一操作:C# Roslyn:为什么许多SymbolDisplay方法在ISymbol上有等效的实例对应项?,c#,.net,roslyn,C#,.net,Roslyn,只是好奇,我注意到在Roslyn中,当涉及到串符号时,似乎有两种方法可以做同样的事情。您可以执行以下任一操作: // symbol is type ISymbol var symbolText = symbol.ToDisplayString(); 或 对于ToMinimalDisplayString、ToDisplayParts、以及ToMinimalDisplayParts,情况都是一样的。为什么Roslyn团队决定添加这两个API,而不是将SymbolDisplay静态方法设置为内部方法
// symbol is type ISymbol
var symbolText = symbol.ToDisplayString();
或
对于
ToMinimalDisplayString
、ToDisplayParts
、以及ToMinimalDisplayParts
,情况都是一样的。为什么Roslyn团队决定添加这两个API,而不是将SymbolDisplay
静态方法设置为内部方法?SymbolDisplay类位于CSharp命名空间中。它是以C#显示样式格式化符号的实际实现。调用symbol.ToDisplayString()时,您将获得符号声明语言中的符号格式,该语言可能是VB而不是C#。我了解得更多。但是,为什么类不是内部的呢?有时您希望使用未定义符号的语言视图来格式化符号。也许看看C#样式的VB符号。好的,我明白了。非常感谢你的帮助!
var symbolText = SymbolDisplay.ToDisplayString(symbol);