Su pregunta "¿Cómo comprobar si la cadena es un espacio de nombres" sólo es válida si tenemos en cuenta donde está comprobando las espacios de nombres
Los espacios de nombres son prefijos a los nombres de clase y las clases tienen un alcance para un ensamblaje. Para verificar si existe un espacio de nombres, debe decidir qué ensamblajes está preparado para revisar para encontrar la existencia del espacio de nombres.
Una vez que haya decidido qué asambleas que está preparado para mirar a través, puede iterar a través de ellos para la existencia de un espacio de nombres particular, de este modo:
public bool NamespaceExists(IEnumerable<Assembly> assemblies, string ns)
{
foreach(Assembly assembly in assemblies)
{
if(assembly.GetTypes().Any(type => type.Namespace == ns))
return true;
}
return false;
}
Por cierto, no se puede utilizar palabra clave reservada 'namespace' como nombre de variable;) – abatishchev
Solo por el bien de la corrección, debe @ize el parámetro del espacio de nombres, el espacio de nombres es una palabra clave C# :) – Marek
¡Oh, qué exigente! Estoy bastante seguro de que la respuesta es legible sin, pero una edición es tuya. :) –