2012-01-11 15 views
9

¿Puedo marcar un espacio de nombre completo como obsoleto en .NET Framework (3.5 y 4) de alguna manera, o alternativamente un proyecto completo?¿Obsoleto un espacio de nombre completo?

+0

Los espacios de nombre no se pueden marcar como obsoletos, esto es un posible duplicado para marcar ensamblajes obsoletos: http://stackoverflow.com/questions/4475014/is-it-possible-to-mark-an-assembly-as- obsoleto – VS1

+1

@Vijay Un tema relacionado, pero no es un duplicado. –

Respuesta

10

No es posible. Supongo que la razón es que el espacio de nombres puede abarcar diferentes ensamblados e incluso los usuarios de la biblioteca pueden usar el mismo espacio de nombres, por lo que obsoleto no solo su código. Namespace es básicamente una sintaxis de azúcar para el prefijo del nombre. El espacio de nombre ni siquiera puede ser el objetivo de un atributo.

+0

Adivina tu derecho, solo quería verificar. Gracias :) – Andreas

+0

Terminó cambiando el nombre del proyecto y el espacio de nombres a Foo.Obsolete.Bar. Funciona en este caso, ya que solo se usa dentro de la misma solución – Andreas

0

El atributo obsoleto no se puede aplicar a los espacios de nombres. ObsoleteAttribute está decorado con [AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Constructor|AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Event|AttributeTargets.Interface|AttributeTargets.Delegate, Inherited = false)] .

Cuestiones relacionadas