(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ObsoleteAttribute-Klasse

Markiert die Programmelemente, die nicht mehr verwendet werden. Diese Klasse kann nicht vererbt werden.

System.Object
  System.Attribute
    System.ObsoleteAttribute

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Constructor|AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Event|AttributeTargets.Interface|AttributeTargets.Delegate, Inherited = false)]
[ComVisibleAttribute(true)]
public sealed class ObsoleteAttribute : Attribute

Der ObsoleteAttribute-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsObsoleteAttribute()Initialisiert eine neue Instanz der ObsoleteAttribute-Klasse mit Standardeigenschaften.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsObsoleteAttribute(String)Initialisiert eine neue Instanz der ObsoleteAttribute-Klasse mit einer angegebenen Meldung zur Problemumgehung.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsObsoleteAttribute(String, Boolean)Initialisiert eine neue Instanz der ObsoleteAttribute-Klasse mit einer Meldung über Umgehungsmöglichkeiten und einem booleschen Wert, der angibt, ob die Verwendung des veralteten Elements als Fehler zu behandeln ist.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsErrorRuft einen booleschen Wert ab, der angibt, ob der Compiler die Verwendung des veralteten Programmelements als Fehler behandelt.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMessageRuft die Meldung zum Umgehen des Problems einschließlich einer Beschreibung alternativer Programmelemente ab.
Öffentliche EigenschaftTypeIdBei Implementierung in einer abgeleiteten Klasse wird ein eindeutiger Bezeichner für dieses Attribute abgerufen. (Von Attribute geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEqualsInfrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeGibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeIsDefaultAttributeBeim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkMatchBeim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoRuft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.)
Zum Seitenanfang

ObsoleteAttribute ist auf alle Programmelemente außer Assemblys, Module, Parameter und Rückgabewerte zu. Durch Markieren eines Elements, z veraltet können Benutzer erkennen, dass das Element in zukünftigen Versionen des Produkts entfernt wird.

Die ObsoleteAttribute-Klasse enthält zwei Eigenschaften:

  • Message . Die Zeichenfolge, die der Message-Eigenschaft zugewiesen wird, wird vom Compiler ausgegeben, wenn das Attributziel im Code verwendet wird. Die Zeichenfolge muss beachten, dass das Attributziel veraltet ist und, wenn möglich, stellt eine Problemumgehung oder programmgesteuerte Alternative.

  • IsError . Dies ist ein boolescher Wert, der für den Compiler angibt, ob die Anwendung des Attributs ObsoleteAttribute dazu führen soll, einen Fehler (IsError ist true) oder eine Warnung ausgegeben (IsError ist false).

Weitere Informationen zum Verwenden von Attributen finden Sie unter Erweitern von Metadaten mithilfe von Attributen.

Windows Store-Apps

Wenn Sie eine Windows-Metadatumenbibliothek (.winmd-Datei) erstellen, wird ObsoleteAttribute als ObsoleteAttribute sowohl das Attribut und das Windows.Foundation.Metadata.DeprecatedAttribute-Attribut exportiert nur, wenn ObsoleteAttribute im Quellcode vorhanden ist. ObsoleteAttribute wird in DeprecatedAttribute umgewandelt, wie folgt:

  • Wenn die message und error beide Argumente vorhanden sind, wird messageDeprecatedAttribute das Argument message zugewiesen. Ein Fehlerwert von Zuordnungen zu DeprecationType.Removetrue und error ein Wert von false zu DeprecationType.Deprecate Zuordnungen.

  • Wenn das Argument message nicht in ObsoleteAttribute angegeben wird, ist sein Standardwert in DeprecatedAttribute "element_name ist veraltet", wobei element_name der Name des Zielprogrammelements ist, auf den das Attribut angewendet wird.

  • Wenn das Argument error nicht in ObsoleteAttribute vorhanden ist, lautet DeprecationType.Deprecate der Standardwert in DeprecatedAttribute.

Wichtiger HinweisWichtig

Das Windows.Foundation.Metadata.DeprecatedAttribute-Attribut in verwalteten Code direkt angewendet wird nicht empfohlen, da dieser Export automatisch erfolgt.

Im folgenden Beispiel wird eine Klasse, die eine Eigenschaft und eine Methode enthält, die dem ObsoleteAttribute-Attribut markiert werden. Der Zugriff auf den Wert der Eigenschaft im OldProperty Code generiert eine Compilerwarnung, aber die CallOldMethod-Methode generiert einen Compilerfehler. Im Beispiel wird auch die Ausgabe angezeigt, die sich ergibt, wenn Sie versuchen, den Quellcode zu kompilieren.


using System;
using System.Reflection;

public class Example
{
   // Mark OldProperty As Obsolete.
   [ObsoleteAttribute("This property is obsolete. Use NewProperty instead.", false)] 
   public static string OldProperty
   { get { return "The old property value."; } }

   public static string NewProperty
   { get { return "The new property value."; } }

   // Mark CallOldMethod As Obsolete.
   [ObsoleteAttribute("This method is obsolete. Call CallNewMethod instead.", true)] 
   public static string CallOldMethod()
   {
      return "You have called CallOldMethod.";
   }

   public static string CallNewMethod() 
   {   
      return "You have called CallNewMethod.";
   }   

   public static void Main()
   {                 
      Console.WriteLine(OldProperty);
      Console.WriteLine();
      Console.WriteLine(CallOldMethod());
   } 
}
// The attempt to compile this example produces output like the following output:
//    Example.cs(31,25): error CS0619: 'Example.CallOldMethod()' is obsolete: 
//            'This method is obsolete. Call CallNewMethod instead.'
//    Example.cs(29,25): warning CS0618: 'Example.OldProperty' is obsolete: 
//            'This property is obsolete. Use NewProperty instead.'


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft