Enum obsolète c#
J'ai une fonction obsolète (obsolète) qui renvoie une énumération, et j'ai une nouvelle fonction qui renvoie une liste d'énumérations.
L'une des valeurs enum est utilisée uniquement dans la fonction obsolète, est-il donc possible de définir un membreenum comme obsolète (car il ne peut pas être dans la liste)?
4 réponses
Bien Sûr, vous pouvez:
public enum EE
{
A,
[Obsolete]
B
}
En fait, il est possible de générer des avertissements du compilateur ou des erreurs du compilateur.
public enum TestEnum
{
A,
[Obsolete("Not in use anymore")]
B,
[Obsolete("Not in use anymore", true)]
C,
}
public class Class1
{
public void TestMethod()
{
TestEnum t1 = TestEnum.A; //Works just fine.
TestEnum t2 = TestEnum.B; //Will still compile, but generates a warning.
TestEnum t3 = TestEnum.C; //Will no longer compile.
}
}
Cela fonctionnera partout où vous utiliserez un attribut [Obsolete].
Comme d'autres affiches l'ont souligné, vous pouvez ajouter le ObsoleteAttribute
au membre enum, mais il peut toujours être utilisé dans votre code. Il n'y a aucun moyen d'exclure par programme le membre enum, c'est-à-dire produire une erreur de compilation ou une exception si elle existe dans l'énumération. L'ajout de l'attribut avertira seulement le développeur à ce sujet.