ObsoleteAttribute ObsoleteAttribute ObsoleteAttribute ObsoleteAttribute Class

Definition

Markiert die nicht mehr verwendeten Programmelemente. Marks the program elements that are no longer in use. Diese Klasse kann nicht vererbt werden. This class cannot be inherited.

public ref class ObsoleteAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Delegate, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Delegate | System.AttributeTargets.Enum | System.AttributeTargets.Event | System.AttributeTargets.Field | System.AttributeTargets.Interface | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Struct, Inherited=false)]
[Serializable]
public sealed class ObsoleteAttribute : Attribute
type ObsoleteAttribute = class
    inherit Attribute
Public NotInheritable Class ObsoleteAttribute
Inherits Attribute
Inheritance
ObsoleteAttributeObsoleteAttributeObsoleteAttributeObsoleteAttribute
Attributes

Examples

Das folgende Beispiel definiert eine Klasse, die eine Eigenschaft und eine Methode, die mit markierten Felder enthält die ObsoleteAttribute Attribut.The following example defines a class that contains a property and a method that are marked with the ObsoleteAttribute attribute. Zugriff auf den Wert von der OldProperty Eigenschaft im Code wird generiert, einen Compiler, Warnung, aber der Aufruf der CallOldMethod Methode wird ein Compilerfehler generiert.Accessing the value of the OldProperty property in code generates a compiler warning, but calling the CallOldMethod method generates a compiler error. Das Beispiel zeigt auch die Ausgabe, die sich ergibt, wenn Sie versuchen, den Quellcode kompilieren.The example also shows the output that results when you attempt to compile the source code.

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.'
Imports System.Reflection

Public Module Example
   ' Mark OldProperty As Obsolete.
   <ObsoleteAttribute("This property is obsolete. Use NewProperty instead.", False)> 
   Public ReadOnly Property OldProperty As String
      Get
         Return "The old property value."
      End Get
   End Property
   
   Public ReadOnly Property NewProperty As String
      Get
         Return "The new property value."
      End Get
   End Property
   
   ' Mark OldMethod As Obsolete.
   <ObsoleteAttribute("This method is obsolete. Call CallNewMethod instead.", True)> 
   Public Function CallOldMethod() As String
      Return "You have called CallOldMethod."
   End Function
      
   Public Function CallNewMethod() As String   
      Return "You have called NewMethod."
   End Function   
   
   Public Sub Main()
      Console.WriteLine(OldProperty)
      Console.WriteLine()
      Console.WriteLine(CallOldMethod())
   End Sub  
End Module
'  The attempt to compile this example produces output like the following:
'    Example.vb(30) : warning BC40000: 'Public ReadOnly Property OldProperty As String' is obsolete: 
'                     'This property is obsolete. Use NewProperty instead.'.
'    
'          Console.WriteLine(OldProperty)
'                            ~~~~~~~~~~~
'    Example.vb(32) : error BC30668: 'Public Function CallOldMethod() As String' is obsolete: 
'                     'This method is obsolete. Call CallNewMethod instead.'.
'    
'          Console.WriteLine(CallOldMethod())
'                            ~~~~~~~~~~~~~

Remarks

ObsoleteAttribute gilt für alle Programmelemente mit Ausnahme von Assemblys, Module, Parameter und Rückgabewerte.ObsoleteAttribute is applicable to all program elements except assemblies, modules, parameters, and return values. Ein Element als veraltet markiert wird mitgeteilt, dass Benutzer, die das Element wird in zukünftigen Versionen des Produkts entfernt.Marking an element as obsolete informs users that the element will be removed in future versions of the product.

Die ObsoleteAttribute Klasse enthält zwei Eigenschaften:The ObsoleteAttribute class includes two properties:

  • MessageMessage. Die zugewiesene Zeichenfolge die Message Eigenschaft wird vom Compiler ausgegeben, wenn das Attributziel in Code verwendet wird.The string assigned to the Message property is emitted by the compiler when the attribute target is used in code. Die Zeichenfolge beachten, dass das Attributziel ist veraltet, und geben Sie wenn möglich, eine problemumgehung oder eine programmatische Alternative.The string should note that the attribute target is obsolete and, if possible, provide some workaround or programmatic alternative.

  • IsErrorIsError. Dies ist ein boolescher Wert, der an den Compiler angibt, unabhängig davon, ob die ObsoleteAttribute Attribut sollten dazu führen, dass es, einen Fehler auszugeben (IsError ist true) oder eine Warnung (IsError ist false).This is a Boolean value that indicates to the compiler whether using the ObsoleteAttribute attribute should cause it to emit an error (IsError is true) or a warning (IsError is false).

Weitere Informationen zum Verwenden von Attributen finden Sie unter Attribute.For more information about using attributes, see Attributes.

Windows 8.x StoreWindows 8.x Store-Apps Apps

Wenn Sie eine Windows-metadatenbibliothek (winmd-Datei) Erstellen der ObsoleteAttribute exportiert wird, wie die ObsoleteAttribute Attribut und die Windows.Foundation.Metadata.DeprecatedAttribute Attribut, wenn nur die ObsoleteAttribute ist im Quellcode.When you create a Windows Metadata library (.winmd file), the ObsoleteAttribute is exported as both the ObsoleteAttribute attribute and the Windows.Foundation.Metadata.DeprecatedAttribute attribute if only the ObsoleteAttribute is present in source code. Die ObsoleteAttribute transformiert wird, um die DeprecatedAttribute wie folgt:The ObsoleteAttribute is transformed to the DeprecatedAttribute as follows:

  • Wenn die message und error Argumente vorhanden ist, sind message zugewiesen wird die DeprecatedAttribute message Argument.If the message and error arguments are both present, message is assigned to the DeprecatedAttribute message argument. Der Fehlerwert true ordnet DeprecationType.Remove, und ein error Wert false ordnet DeprecationType.Deprecate.An error value of true maps to DeprecationType.Remove, and an error value of false maps to 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 Ziels Programmelement, das Attribut angewendet wird.If the message argument is not supplied in the ObsoleteAttribute, its default value in the DeprecatedAttribute is "element_name is deprecated", where element_name is the name of the target program element to which the attribute is applied.

  • Wenn die error Argument ist nicht vorhanden ist, in der ObsoleteAttribute, den Standardwert in der DeprecatedAttribute ist DeprecationType.Deprecate.If the error argument is not present in the ObsoleteAttribute, its default value in the DeprecatedAttribute is DeprecationType.Deprecate.

Wichtig

Direkt Anwenden der Windows.Foundation.Metadata.DeprecatedAttribute Attribut an verwalteten Code wird nicht empfohlen, da dieser Export wird dann automatisch durchgeführt.Directly applying the Windows.Foundation.Metadata.DeprecatedAttribute attribute to managed code is not recommended, because this export occurs automatically.

Constructors

ObsoleteAttribute() ObsoleteAttribute() ObsoleteAttribute() ObsoleteAttribute()

Initialisiert eine neue Instanz der ObsoleteAttribute-Klasse mit Standardeigenschaften. Initializes a new instance of the ObsoleteAttribute class with default properties.

ObsoleteAttribute(String) ObsoleteAttribute(String) ObsoleteAttribute(String) ObsoleteAttribute(String)

Initialisiert eine neue Instanz der ObsoleteAttribute-Klasse mit einer angegebenen Meldung zur Problemumgehung. Initializes a new instance of the ObsoleteAttribute class with a specified workaround message.

ObsoleteAttribute(String, Boolean) ObsoleteAttribute(String, Boolean) ObsoleteAttribute(String, Boolean) ObsoleteAttribute(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. Initializes a new instance of the ObsoleteAttribute class with a workaround message and a Boolean value indicating whether the obsolete element usage is considered an error.

Properties

IsError IsError IsError IsError

Ruft einen booleschen Wert ab, der angibt, ob der Compiler die Verwendung des veralteten Programmelements als Fehler behandelt. Gets a Boolean value indicating whether the compiler will treat usage of the obsolete program element as an error.

Message Message Message Message

Ruft die Meldung zum Umgehen des Problems einschließlich einer Beschreibung alternativer Programmelemente ab. Gets the workaround message, including a description of the alternative program elements.

TypeId TypeId TypeId TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab. When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methods

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Gibt den Hashcode für diese Instanz zurück. Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab. Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist. When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object. Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _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. Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to

See Also