Полное имя разделителя в C# является символом периода (.
). например System.Console.Write
.Является ли разделитель пространства имен C# (.) Определенным?
Определяется ли это где-то как Path.PathSeperator
, или же он жестко закодирован в классах отражения .NET?
(например, в Type.FullName
реализованы как Type.Namespace + "." + Type.Name
при условии, что она не изменится
Я думаю, что обозначение 'X.Y + Z' можно увидеть для анонимных типов и в виде следов стека ...? –
@ThorstenDittmar с точки зрения C#, анонимные типы * никогда не имеют имени *. Компилятор генерирует имена, которые являются незаконными в C# - такие вещи, как '<> _ 4' (и т. Д.). Вы увидите только такие обозначения для анонимных типов, если посмотреть на их имя BCL, возможно, через '.GetType()', но это ничем не отличается от обычного типа типа X.Y + Z. В терминах трассировки стека: да, он будет использовать внутреннее представление типов: потому что опять же, это не компилятор, работающий в этой точке, поэтому терминология C# не применяется. Аналогично, 'int' обычно будет' System.Int32' и т. Д. –