Roslyn:获取格式化方法 signature/declaration

Roslyn: Get formatted method signature/declaration

我有 MethodDeclarationSyntaxIMethodSymbol,但我找不到任何方法,如何访问格式化的方法名称:

namespace XXX.YYY.ZZZ
{    
    public class MyClass
    {
        public void MyMethod()
        {
        }
    }
}

但我只能访问格式如下的文本:

public System.Void XXX.YYY.ZZZ.MyClass.MyMethod()

我看到了一些 Formatter.Format 的例子。但他们都需要 document/workspace 等,我对基于解决方案或 VS 设置的可调整格式不感兴趣,但对方法签名的简单通用 C# 通用格式不感兴趣:

public void MyMethod()

在其他情况下与参数非常相似:

public System.Void XXX.YYY.ZZZ.MyClass.MyMethod(System.Sting myString, System.Int 
 index)

在 Roslyn 中有什么方法可以做到这一点吗?

似乎诀窍在于 Roslyn 对象在调试模式下显示的内容与它们通过 ToString() 方法实际提供的内容之间的区别。

有时名称空间是标识符名称输出的一部分,但大多数情况下不是,但对象表示在调试模式下可能会产生误导。

最好的方法是首先通过 ToString 或其他方式获取字符串,即使变量、字段或常量在调试模式下显示为其他内容时也是如此:)。