2012-01-11 4 views
9

Puis-je marquer un espace de noms entier comme obsolète dans .NET Framework (3.5 et 4) en quelque sorte, ou alternativement un projet entier?Obsolète un espace de noms entier?

+0

Les espaces de noms ne peuvent pas être marqués comme obsolètes. Il s'agit d'un Duplicata possible pour le marquage des assemblages obsolètes: http://stackoverflow.com/questions/4475014/is-it-possible-to-mark-an-assembly-as- obsolète – VS1

+1

@Vijay Un sujet connexe, mais pas un doublon. –

Répondre

10

Ce n'est pas possible. Je suppose que la raison est que l'espace de noms peut s'étendre sur différents assemblages et même les utilisateurs de la bibliothèque peuvent utiliser le même espace de noms, de sorte qu'il ne serait pas seulement obsolète votre code. Namespace est essentiellement une syntaxe de sucre pour le préfixe de nom. L'espace de noms ne peut même pas être la cible d'un attribut.

+0

Devinez votre droite, je voulais juste vérifier. Merci :) – Andreas

+0

Terminé en renommant le projet et l'espace de noms à Foo.Obsolete.Bar. Fonctionne dans ce cas car il est utilisé uniquement dans la même solution – Andreas

0

L'attribut obsolète ne peut pas être appliqué aux espaces de noms. Le ObsoleteAttribute est décoré avec [AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Constructor|AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Event|AttributeTargets.Interface|AttributeTargets.Delegate, Inherited = false)] .