Separator pełnej nazwy w C# jest znakiem kropki (.
). na przykład System.Console.Write
.Czy gdzieś jest zdefiniowany separator przestrzeni nazw C# (.)?
Czy jest to zdefiniowane gdzieś w stylu Path.PathSeperator
, czy też jest ono zakodowane w klasach odbicia .NET?
(np jest Type.FullName
realizowane jako Type.Namespace + "." + Type.Name
zakładając, że nie zmieni
Myślę, że notacja 'X.Y + Z' może być widoczna dla typów anonimowych i śladów stosu ...? –
@ThorstenDittmar pod względem C#, typy anonimowe * nigdy nie mają nazwy *. Kompilator generuje nazwy, które są nielegalne w C# - takie rzeczy jak '<> _ 4' (etc). Zobaczysz taką notację tylko dla typów anonimowych, jeśli spojrzysz na ich nazwę BCL, być może za pomocą '.GetType()' - ale to nie jest takie samo, jak patrzenie na zwykły typ, taki jak 'X.Y + Z'. Pod względem śledzenia stosu: tak, użyje wewnętrznej reprezentacji typów: ponieważ znowu nie jest to kompilator działający w tym punkcie, więc terminologia C# nie ma zastosowania. Podobnie, 'int' zwykle będzie' System.Int32' itp. –