ObsoleteAttribute Třída

Definice

Označí prvky programu, které se už nepoužívají. Tato třída se nemůže dědit.

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
Dědičnost
ObsoleteAttribute
Atributy

Příklady

Následující příklad definuje třídu, která obsahuje vlastnost a metodu označenou atributem ObsoleteAttribute . Přístup k hodnotě OldProperty vlastnosti v kódu vygeneruje upozornění kompilátoru CallOldMethod , ale volání metody vygeneruje chybu kompilátoru. Příklad také ukazuje výstup, který se zobrazí při pokusu o kompilaci zdrojového kódu.

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

Poznámky

ObsoleteAttribute se vztahuje na všechny prvky programu s výjimkou sestavení, modulů, parametrů a návratových hodnot. Označení elementu jako zastaralého informuje uživatele, že prvek může být v budoucí verzi produktu odebrán.

Řetězec přiřazený vlastnosti Message je generován kompilátorem, když je cíl atributu použit v kódu. V ideálním případě by řetězec měl poskytovat nějaké alternativní řešení nebo programovou alternativu.

IsError Pomocí vlastnosti určete kompilátoru, jestli má použití atributu ObsoleteAttribute způsobit, že vygeneruje chybu (IsError je true) nebo upozornění (IsError je false).

Další informace o používání atributů najdete v tématu Atributy.

Konstruktory

ObsoleteAttribute()

Inicializuje novou instanci ObsoleteAttribute třídy s výchozími vlastnostmi.

ObsoleteAttribute(String)

Inicializuje novou instanci ObsoleteAttribute třídy se zadanou zprávou alternativního řešení.

ObsoleteAttribute(String, Boolean)

Inicializuje novou instanci ObsoleteAttribute třídy se zprávou alternativního řešení a logickou hodnotou označující, zda je použití zastaralého prvku považováno za chybu.

Vlastnosti

DiagnosticId

Získá nebo nastaví ID, které kompilátor použije při hlášení použití rozhraní API.

IsError

Získá hodnotu, která označuje, zda kompilátor bude považovat použití zastaralého prvku programu jako chybu.

Message

Získá zprávu o alternativním řešení.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu .

(Zděděno od Attribute)
UrlFormat

Získá nebo nastaví adresu URL pro odpovídající dokumentaci. Rozhraní API přijímá formátovací řetězec místo skutečné adresy URL a vytváří obecnou adresu URL, která obsahuje ID diagnostiky.

Metody

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od Attribute)
GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

(Zděděno od Attribute)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě označuje, zda je hodnota této instance výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, které lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Produkt Verze
.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

Viz také