Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否获取嵌套类型的ITypeSymble的全名?_C#_.net_Roslyn - Fatal编程技术网

C# 是否获取嵌套类型的ITypeSymble的全名?

C# 是否获取嵌套类型的ITypeSymble的全名?,c#,.net,roslyn,C#,.net,Roslyn,我为嵌套类型(MyNamespace.MyOuter.nested)获得了一个ITypeSymbol),并尝试使用以下方法获取该类型的全名: typeSymbol.ToDisplayString(new SymbolDisplayFormat( SymbolDisplayGlobalNamespaceStyle.Omitted, SymbolDisplayTypeQualificationStyle.NameAndContainingTypesAndNamespaces,

我为嵌套类型(
MyNamespace.MyOuter.nested
)获得了一个
ITypeSymbol
),并尝试使用以下方法获取该类型的全名:

typeSymbol.ToDisplayString(new SymbolDisplayFormat(
    SymbolDisplayGlobalNamespaceStyle.Omitted,
    SymbolDisplayTypeQualificationStyle.NameAndContainingTypesAndNamespaces,
    SymbolDisplayGenericsOptions.IncludeTypeParameters,
    miscellaneousOptions: SymbolDisplayMiscellaneousOptions.ExpandNullable
));

反射将全名返回为
MyNamespace.MyOuter+Nested
-如何从Roslyn获取完全相同的字符串?上面的显示格式返回
MyNamespace.MyOuter.Nested
:-(

MyNamespace.MyOuter+Nested
是.NET/CIL名称,
MyNamespace.MyOuter.Nested
是C#全名。是否有办法使用Roslyn生成.NET/CIL名称?遗憾的是,没有。但您可以使用此处显示的扩展方法自己生成它: