我有MethodDeclarationSyntax
或IMethodSymbol
,但是我找不到任何方法来访问格式化的方法名称:
namespace XXX.YYY.ZZZ
{
public class MyClass
{
public void MyMethod()
{
}
}
}
但是我只能访问的文本格式如下:
public System.Void XXX.YYY.ZZZ.MyClass.MyMethod()
我看到了一些Formatter.Format
的例子。但是他们都需要文档/工作区等,我不希望基于解决方案或VS设置获得可调整的格式,而是对方法签名使用简单的通用C#通用格式:
public void MyMethod()
在其他情况下,参数非常相似:
public System.Void XXX.YYY.ZZZ.MyClass.MyMethod(System.Sting myString, System.Int
index)
罗斯林有什么办法做到这一点?
答案 0 :(得分:0)
看来,诀窍在于Roslyn对象在调试模式下显示的内容与它们实际使用ToString()方法提供的内容之间的区别。
有时名称空间是标识符名称输出的一部分,但大多数情况下不是,但是对象表示形式可能会在调试模式下产生误导。
最好的方法是首先通过ToString或其他方式获取字符串,即使变量,字段或常量在调试模式下显示其他内容:)。