it-swarm.com.de

Wie markiere ich eine Klasse als veraltet?

Mögliches Duplikat:
Wie markiere ich eine Methode als veraltet/veraltet? - C #

Wie kennzeichnen Sie eine Klasse als veraltet? Ich möchte eine Klasse in meinem Projekt nicht mehr verwenden, aber nicht vor Ablauf von 2 Wochen löschen.

210
Mister Dev

Sie müssen das Attribut [Obsolete] Verwenden.

Dies ist ein Beispiel:

[Obsolete("Not used any more", true)]
public class MyDeprecatedClass
{
    //...
}

Sie haben keine Verwendungsparameter, sie sind optional (überladene Methode). Der erste Parameter ist aus dem Grund und der letzte ist, einen Fehler in der Kompilierungszeit anstelle einer Warnung zu markieren.

377

Laut Doaks Antwort, aber der zweite Parameter des Attributs sollte auf false gesetzt werden, wenn der Code kompiliert werden soll:

[Obsolete("Not used any more", false)]
public class MyDeprecatedClass
{
        //...
}

Dies wird nur Warnungen auslösen.

40
Rebecca

Der Grund, eine Klasse nicht zu löschen und stattdessen zu verwerfen, ist die Einhaltung einiger "Höflichkeitsrichtlinien", wenn Ihr Code eine etablierte API ist und dann von Dritten verwendet wird.

Wenn Sie ablehnen, anstatt zu löschen, geben Sie Verbrauchern eine Lebenszyklusrichtlinie (z. B. Wartung und Existenz der Klassen bis zur Version X.X), damit sie eine ordnungsgemäße Migration auf Ihre neue API planen können.

21
Gabriel