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

时间:2017-08-20 05:27:01

标签: c# .net roslyn

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

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

var symbolText = SymbolDisplay.ToDisplayString(symbol);

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

1 个答案:

答案 0 :(得分:2)

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