Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ObsoleteAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Markiert die nicht mehr verwendeten Programmelemente. Diese Klasse kann nicht vererbt werden.

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

System.Object
  System.Attribute
    System.ObsoleteAttribute

[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

NameBeschreibung
System_CAPS_pubmethodObsoleteAttribute()

Initialisiert eine neue Instanz der ObsoleteAttribute-Klasse mit Standardeigenschaften.

System_CAPS_pubmethodObsoleteAttribute(String)

Initialisiert eine neue Instanz der ObsoleteAttribute -Klasse mit einer Meldung angegebene Problem zu umgehen.

System_CAPS_pubmethodObsoleteAttribute(String, Boolean)

Initialisiert eine neue Instanz der ObsoleteAttribute -Klasse mit einer Meldung zur Umgehung und ein boolescher Wert, der angibt, ob die Verwendung des veralteten Elements als Fehler betrachtet.

NameBeschreibung
System_CAPS_pubpropertyIsError

Ruft einen booleschen Wert, der angibt, ob der Compiler Nutzung des Programmelements veraltet als Fehler behandelt wird.

System_CAPS_pubpropertyMessage

Ruft die Meldung zur Umgehung, einschließlich einer Beschreibung alternativer Programmelemente ab.

System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

ObsoleteAttribute gilt für alle Programmelemente außer Assemblys, Module, Parameter und Rückgabewerte. Markieren ein Element als veraltet informiert Benutzer, der das Element wird in zukünftigen Versionen des Produkts entfernt.

Die ObsoleteAttribute Klasse enthält zwei Eigenschaften:

  • Message. Die zugewiesene Zeichenfolge die Message Eigenschaft wird vom Compiler ausgegeben, wenn das Attributziel in Code verwendet wird. Die Zeichenfolge beachten, dass das Attributziel ist veraltet und, wenn möglich, einige Workaround oder eine programmatische Alternative.

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

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

Beim Erstellen einer Windows-metadatenbibliothek (winmd-Datei) der ObsoleteAttribute exportiert wird, als auch die ObsoleteAttribute Attribut und die Windows.Foundation.Metadata.DeprecatedAttribute Attribut, wenn nur die ObsoleteAttribute im Quellcode vorhanden ist. Die ObsoleteAttribute in transformiert die DeprecatedAttribute wie folgt:

  • Wenn die message und error Argumente sind vorhanden, message zugeordnet ist die DeprecatedAttributemessage Argument. Fehlerwert true ordnet DeprecationType.Remove, und ein error Wert false ordnet DeprecationType.Deprecate.

  • Wenn die message Argument nicht angegeben wird, der ObsoleteAttribute, den Standardwert in der DeprecatedAttribute ist "Element_name ist veraltet", wobei Element_name ist der Name des Zielelements für die Anwendung auf das das Attribut angewendet wird.

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

System_CAPS_importantWichtig

Direkt Anwenden der Windows.Foundation.Metadata.DeprecatedAttribute Attribut an verwalteten Code wird nicht empfohlen, da dieser Export automatisch erfolgt.

Das folgende Beispiel definiert eine Klasse enthält eine Eigenschaft und eine Methode, die mit markiert sind die ObsoleteAttribute Attribut. Zugreifen auf den Wert von der OldProperty -Eigenschaft im Code generiert einen Compiler, Warnung, und das Aufrufen der CallOldMethod -Methode generiert einen Compilerfehler. Das Beispiel zeigt auch die Ausgabe, 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.'

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: