Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe ObsoleteAttribute

Contrassegna gli elementi del programma che non vengono più utilizzati. Questa classe non può essere ereditata.

Spazio dei nomi:  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

Il tipo ObsoleteAttribute espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreObsoleteAttribute()Consente l'inizializzazione di una nuova istanza della classe ObsoleteAttribute con le proprietà predefinite.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreObsoleteAttribute(String)Inizializza una nuova istanza della classe ObsoleteAttribute con un messaggio alternativo specificato.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreObsoleteAttribute(String, Boolean)Inizializza una nuova istanza della classe ObsoleteAttribute con un messaggio alternativo e un valore Boolean che indica se l'utilizzo dell'elemento obsoleto viene considerato un errore.
In alto

  NomeDescrizione
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsErrorOttiene un valore che indica se il compilatore considererà l'utilizzo dell'elemento del programma obsoleto come errore.
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreMessageOttiene il messaggio alternativo, inclusa una descrizione degli elementi di programma alternativi.
Proprietà pubblicaTypeId Quando implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute. (Ereditato da Attribute)
In alto

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreEqualsInfrastruttura. Restituisce un valore che indica se l'istanza è uguale ad un oggetto specificato. (Ereditato da Attribute)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetHashCode Restituisce il codice hash per l'istanza corrente. (Ereditato da Attribute)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoIsDefaultAttribute Quando viene eseguito l'override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute)
Metodo pubblicoSupportato da XNA FrameworkMatch Quando viene eseguito l'override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privato_Attribute.GetIDsOfNames Esegue il mapping di un set di nomi a un corrispondente set di identificatori di dispatch. (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato_Attribute.GetTypeInfo Recupera le informazioni sui tipi per un oggetto, che possono essere utilizzate per ottenere informazioni sul tipo per un'interfaccia. (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato_Attribute.GetTypeInfoCount Recupera il numero di interfacce di informazioni sui tipi che un oggetto fornisce (0 o 1). (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato_Attribute.Invoke Fornisce l'accesso alle proprietà ed ai metodi esposti da un oggetto. (Ereditato da Attribute)
In alto

ObsoleteAttribute può essere applicato a tutti gli elementi di programma ad eccezione di assembly, moduli, parametri e valori restituiti. La contrassegnazione di un elemento come obsoleto indica che tale elemento verrà rimosso dalle versioni future del prodotto.

La classe ObsoleteAttribute include due proprietà:

  • Message . La stringa assegnata alla proprietà Message viene generata dal compilatore quando viene utilizzato nel codice l'attributo destinazione. La stringa deve indicare che la destinazione dell'attributo è obsoleta e, se possibile, fornire alcune soluzioni alternative o alternative a livello di codice.

  • IsError . Si tratta di un valore booleano che indica al compilatore se tramite l'attributo ObsoleteAttribute deve generare un errore (IsError è true) o un avviso (IsError è false).

Per ulteriori informazioni sull'utilizzo degli attributi, vedere Estensione di metadati mediante attributi.

Applicazioni Windows Store

Quando si crea una libreria di metadati Windows (file .winmd), ObsoleteAttribute viene esportato come l'attributo ObsoleteAttribute e come l'attributo Windows.Foundation.Metadata.DeprecatedAttribute solo se è presente ObsoleteAttribute nel codice sorgente. ObsoleteAttribute viene convertito in DeprecatedAttribute come segue:

  • Se gli argomenti errormessage sono entrambi presenti, message viene assegnato all'argomento DeprecatedAttributemessage. Un errore true corrisponde a DeprecationType.Remove, e un errorfalse corrisponde a DeprecationType.Deprecate

  • Se l'argomento message non viene specificato in ObsoleteAttribute, il valore predefinito in DeprecatedAttribute è "element_name è deprecato", dove element_name è il nome dell'elemento del programma a cui viene applicato l'attributo.

  • Se l'argomento error non è presente in ObsoleteAttribute, il valore predefinito in DeprecatedAttribute è DeprecationType.Deprecate.

Nota importanteImportante

Applicare direttamente l'attributo Windows.Foundation.Metadata.DeprecatedAttribute per gestire il codice non è consigliato, poiché questa esportazione viene eseguita automaticamente.

Nell'esempio seguente viene definita una classe che contiene una proprietà e un metodo contrassegnati con l'attributo ObsoleteAttribute. Accedere al valore della proprietà OldProperty nel codice genera un avviso del compilatore, ma chiamare il metodo CallOldMethod genera un errore del compilatore. Viene inoltre illustrato l'output che si ottiene quando si tenta di compilare il codice sorgente.


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

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato 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 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft