Roslyn:为什么许多 SymbolDisplay 方法在 ISymbol 上有等效的实例对应物?
Roslyn: Why do many SymbolDisplay methods have equivalent instance counterparts on ISymbol?
只是好奇,我注意到在 Roslyn 中对符号进行字符串化时,似乎有两种方法可以做同样的事情。你可以这样做:
// symbol is type ISymbol
var symbolText = symbol.ToDisplayString();
或
var symbolText = SymbolDisplay.ToDisplayString(symbol);
ToMinimalDisplayString
、ToDisplayParts
和 ToMinimalDisplayParts
也是如此。为什么 Roslyn 团队决定添加这两个 API 而不是将 SymbolDisplay
静态方法内部化?
SymbolDisplay class 在 CSharp 命名空间中。它是在 C# 显示样式中格式化符号的实际实现。当您调用 symbol.ToDisplayString() 时,您将获得符号声明语言的符号格式,它可能是 VB 而不是 C#。
只是好奇,我注意到在 Roslyn 中对符号进行字符串化时,似乎有两种方法可以做同样的事情。你可以这样做:
// symbol is type ISymbol
var symbolText = symbol.ToDisplayString();
或
var symbolText = SymbolDisplay.ToDisplayString(symbol);
ToMinimalDisplayString
、ToDisplayParts
和 ToMinimalDisplayParts
也是如此。为什么 Roslyn 团队决定添加这两个 API 而不是将 SymbolDisplay
静态方法内部化?
SymbolDisplay class 在 CSharp 命名空间中。它是在 C# 显示样式中格式化符号的实际实现。当您调用 symbol.ToDisplayString() 时,您将获得符号声明语言的符号格式,它可能是 VB 而不是 C#。