das ist nur die Art und Weise, dass eine verschachtelte Art dargestellt wird, gesehen werden. So zum Beispiel:
namespace Foo
{
class Outer
{
class Nested {}
}
}
einen Typen mit einem vollständigen Namen Foo.Outer+Nested
im kompilierten Code erstellen. (So ist das, was typeof(Outer.Nested).FullName
zurückkehren würde, zum Beispiel.)
Es ist mir nicht klar, ob dies Verhalten angegeben, oder das, was nur die Microsoft C# Compiler zu verwenden, wählen; Es ist ein "unaussprechlicher" Name, weil Sie eine Klasse mit einem + darin in normalen C# nicht explizit deklarieren können, so dass der Compiler weiß, dass es mit nichts anderem kollidieren wird. Abschnitt 10.3.8 der C# 3-Spezifikation diktiert nicht den kompilierten Namen, soweit ich sehen kann.
EDIT: Ich habe gerade gesehen, dass Type.AssemblyQualifiedName
gibt an, dass „+“ verwendet wird, einen verschachtelten Typnamen vorangehen ... aber es ist immer noch nicht klar, ob diese tatsächlich erforderlich oder nur herkömmliches sind.
Warum wollen Sie das wissen? Was versuchst du mit diesem Wissen zu erreichen? –