Noté algo curioso cuando jugueteaba con las clases anidadas y daba el nombre del tipo a una ventana de la consola. Me preguntaba si alguien podría explicarlo un poco por mí. Cuando llamo al GetType()
en la clase principal, devuelve lo que esperaría, que era el nombre de la clase después de los espacios de nombres relevantes. es decir Namespace.Namespace.Classname
Clase anidada .GetType()
Sin embargo, cuando llamo a una función desde dentro de la clase envolvente para devolver el tipo de la clase anidada puedo obtener el valor devuelto como esto:
Namespace.Namespace.ClassNameEnclosing + ClassNameNested.
¿Por qué no regresó simplemente como notación de puntos . ¿Por qué el símbolo +? Solo tengo curiosidad por saber qué está sucediendo en el fondo que causa esta notación.
Gracias por la respuesta. Veo que si bien la clase es una clase en sí misma, ¿no tiene su propio espacio de nombres? El símbolo más básicamente indica que este tipo es una adición al espacio de nombres de la clase adjunta. – CSharpened
@CSharpened: Sí, ese es su espacio de nombres: si nos fijamos en el espacio de nombres de (por ejemplo) 'System.Collections.Generic.SortedDictionary .ValueCollection', encontrará que es simplemente' System.Collections.Generic'. –
Excelente respuesta. Gracias. Eso lo deja muy claro. – CSharpened