Ler en inglés

Compartir por


ObsoleteAttribute Clase

Definición

Marca los elementos del programa que ya no se utilizan. Esta clase no puede heredarse.

C#
[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
C#
[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
C#
[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
Herencia
ObsoleteAttribute
Atributos

Ejemplos

En el ejemplo siguiente se define una clase que contiene una propiedad y un método marcado con el ObsoleteAttribute atributo . El acceso al valor de la propiedad en el OldProperty código genera una advertencia del compilador, pero al llamar al CallOldMethod método se genera un error del compilador. En el ejemplo también se muestra la salida que da como resultado al intentar compilar el código fuente.

C#
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.'

Comentarios

ObsoleteAttribute es aplicable a todos los elementos del programa, excepto ensamblados, módulos, parámetros y valores devueltos. Marcar un elemento como obsoleto informa a los usuarios de que el elemento se puede quitar en una versión futura del producto.

El compilador emite la cadena asignada a la Message propiedad cuando se usa el destino del atributo en el código. Lo ideal es que la cadena proporcione alguna solución alternativa o mediante programación.

Utilice la IsError propiedad para indicar al compilador si el uso del ObsoleteAttribute atributo debe provocar que emita un error (IsError es true) o una advertencia (IsError es false).

Para obtener más información sobre el uso de atributos, vea Atributos.

Constructores

ObsoleteAttribute()

Inicializa una nueva instancia de la clase ObsoleteAttribute con propiedades predeterminadas.

ObsoleteAttribute(String)

Inicializa una nueva instancia de la clase ObsoleteAttribute con el mensaje de solución especificado.

ObsoleteAttribute(String, Boolean)

Inicializa una nueva instancia de la clase ObsoleteAttribute con un mensaje de solución y un valor Boolean que indica si el uso del elemento obsoleto se considera un error.

Propiedades

DiagnosticId

Obtiene o establece el identificador que utilizará el compilador al notificar un uso de la API.

IsError

Obtiene un valor que indica si el compilador tratará el uso del elemento de programa obsoleto como un error.

Message

Obtiene el mensaje de la solución.

TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.

(Heredado de Attribute)
UrlFormat

Obtiene o establece la dirección URL de la documentación correspondiente. La API acepta una cadena de formato en lugar de una dirección URL real, creando una dirección URL genérica que incluya el identificador de diagnóstico.

Métodos

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.

(Heredado de Attribute)
GetHashCode()

Devuelve el código hash de esta instancia.

(Heredado de Attribute)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.

(Heredado de Attribute)
Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

(Heredado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.

(Heredado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).

(Heredado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.

(Heredado de Attribute)

Se aplica a

Produto Versións
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Consulte también