ObsoleteAttribute Classe

Définition

Marque les éléments de programme qui ne sont plus utilisés.Marks the program elements that are no longer in use. Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class ObsoleteAttribute sealed : Attribute
[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)]
public sealed class ObsoleteAttribute : Attribute
[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)]
[System.Serializable]
public sealed class ObsoleteAttribute : Attribute
[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)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ObsoleteAttribute : Attribute
[<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)>]
type ObsoleteAttribute = class
    inherit Attribute
[<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)>]
[<System.Serializable>]
type ObsoleteAttribute = class
    inherit Attribute
[<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)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ObsoleteAttribute = class
    inherit Attribute
Public NotInheritable Class ObsoleteAttribute
Inherits Attribute
Héritage
ObsoleteAttribute
Attributs

Exemples

L’exemple suivant définit une classe qui contient une propriété et une méthode qui sont marquées avec l' ObsoleteAttribute attribut.The following example defines a class that contains a property and a method that are marked with the ObsoleteAttribute attribute. L’accès à la valeur de la OldProperty propriété dans le code génère un avertissement du compilateur, mais l’appel de la CallOldMethod méthode génère une erreur du compilateur.Accessing the value of the OldProperty property in code generates a compiler warning, but calling the CallOldMethod method generates a compiler error. L’exemple affiche également la sortie obtenue lorsque vous tentez de compiler le code source.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())
'                            ~~~~~~~~~~~~~

Remarques

ObsoleteAttribute s’applique à tous les éléments de programme, à l’exception des assemblys, des modules, des paramètres et des valeurs de retour.ObsoleteAttribute is applicable to all program elements except assemblies, modules, parameters, and return values. Le marquage d’un élément comme obsolète informe les utilisateurs que l’élément peut être supprimé dans une future version du produit.Marking an element as obsolete informs users that the element may be removed in a future version of the product.

La chaîne assignée à la Message propriété est émise par le compilateur lorsque la cible d’attribut est utilisée dans le code.The string assigned to the Message property is emitted by the compiler when the attribute target is used in code. Dans l’idéal, la chaîne doit fournir une solution de contournement ou une alternative de programmation.Ideally, the string should provide some workaround or programmatic alternative.

Utilisez la IsError propriété pour indiquer au compilateur si l’utilisation de l' ObsoleteAttribute attribut doit provoquer l’émission d’une erreur (a la valeur IsError true ) ou d’un avertissement (a la valeur IsError false ).Use the IsError property to indicate to the compiler whether using the ObsoleteAttribute attribute should cause it to emit an error (IsError is true) or a warning (IsError is false).

Pour plus d’informations sur l’utilisation d’attributs, consultez attributs.For more information about using attributes, see Attributes.

Applications du Windows 8. x StoreWindows 8.x Store apps

Quand vous créez une bibliothèque de métadonnées Windows (fichier. winmd), ObsoleteAttribute est exporté à la fois en tant qu’attribut et en tant ObsoleteAttribute qu’attribut Windows. Foundation. Metadata. DeprecatedAttribute si seul ObsoleteAttribute est présent dans le code source.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. Le ObsoleteAttribute est transformé en DeprecatedAttribute comme suit :The ObsoleteAttribute is transformed to the DeprecatedAttribute as follows:

  • Si les message error arguments et sont tous les deux présents, message est assigné à l' DeprecatedAttribute message argument.If the message and error arguments are both present, message is assigned to the DeprecatedAttribute message argument. Une valeur d’erreur de est true mappée à DeprecationType. Removeet une error valeur de est false mappée à DeprecationType. Deprecated.An error value of true maps to DeprecationType.Remove, and an error value of false maps to DeprecationType.Deprecate.

  • Si l' message argument n’est pas fourni dans ObsoleteAttribute , sa valeur par défaut dans DeprecatedAttribute est «element_name est déconseillé », où element_name est le nom de l’élément de programme cible auquel l’attribut est appliqué.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.

  • Si l' error argument n’est pas présent dans ObsoleteAttribute , sa valeur par défaut dans DeprecatedAttribute est DeprecationType.Deprecate .If the error argument is not present in the ObsoleteAttribute, its default value in the DeprecatedAttribute is DeprecationType.Deprecate.

Important

L’application directe de l’attribut Windows. Foundation. Metadata. DeprecatedAttribute au code managé n’est pas recommandée, car cette exportation se produit automatiquement.Directly applying the Windows.Foundation.Metadata.DeprecatedAttribute attribute to managed code is not recommended, because this export occurs automatically.

Constructeurs

ObsoleteAttribute()

Initialise une nouvelle instance de la classe ObsoleteAttribute avec des propriétés par défaut.Initializes a new instance of the ObsoleteAttribute class with default properties.

ObsoleteAttribute(String)

Initialise une nouvelle instance de la classe ObsoleteAttribute avec un message de solution spécifié.Initializes a new instance of the ObsoleteAttribute class with a specified workaround message.

ObsoleteAttribute(String, Boolean)

Initialise une nouvelle instance de la classe ObsoleteAttribute avec un message de solution et une valeur Boolean indiquant si l'utilisation de l'élément obsolète est considérée comme une erreur.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.

Propriétés

DiagnosticId

Obtient ou définit l’ID que le compilateur utilisera pour signaler une utilisation de l’API.Gets or sets the ID that the compiler will use when reporting a use of the API.

IsError

Obtient une valeur indiquant si le compilateur va traiter l’utilisation de l’élément de programme obsolète comme erreur.Gets a value that indicates whether the compiler will treat usage of the obsolete program element as an error.

Message

Obtient le message de la solution de contournement.Gets the workaround message.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Hérité de Attribute)
UrlFormat

Obtient ou définit l’URL de la documentation correspondante.Gets or sets the URL for corresponding documentation. L’API accepte une chaîne de format au lieu d’une URL réelle et crée une URL générique qui comprend l’ID de diagnostic.The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID.

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.Returns a value that indicates whether this instance is equal to a specified object.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.Returns the hash code for this instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Hérité de Object)

Implémentations d’interfaces explicites

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

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.Provides access to properties and methods exposed by an object.

(Hérité de Attribute)

S’applique à

Voir aussi