ObsoleteAttribute Sınıf

Tanım

Artık kullanımda olmayan program öğelerini işaretler.Marks the program elements that are no longer in use. Bu sınıf devralınamaz.This class cannot be inherited.

public ref class ObsoleteAttribute sealed : Attribute
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)]
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
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)>]
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
Devralma
ObsoleteAttribute
Öznitelikler

Örnekler

Aşağıdaki örnek, bir özelliği ve özniteliğiyle işaretlenmiş bir yöntemi içeren bir sınıfı tanımlar ObsoleteAttribute .The following example defines a class that contains a property and a method that are marked with the ObsoleteAttribute attribute. OldPropertyKoddaki özelliğinin değerine erişilmesi bir derleyici uyarısı oluşturur, ancak CallOldMethod yöntemini çağırmak bir derleyici hatası oluşturur.Accessing the value of the OldProperty property in code generates a compiler warning, but calling the CallOldMethod method generates a compiler error. Örnek ayrıca, kaynak kodu derlemeye çalıştığınızda elde edilen çıktıyı gösterir.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())
'                            ~~~~~~~~~~~~~

Açıklamalar

ObsoleteAttribute derlemeler, modüller, parametreler ve dönüş değerleri dışında tüm program öğelerine uygulanabilir.ObsoleteAttribute is applicable to all program elements except assemblies, modules, parameters, and return values. Bir öğeyi kullanımdan kalkmış olarak işaretlemek, kullanıcılara ürünün gelecekteki bir sürümünde kaldırılabileceğini bildirir.Marking an element as obsolete informs users that the element may be removed in a future version of the product.

Özelliğe atanan dize, Message öznitelik hedefi kodda kullanıldığında derleyici tarafından yayılır.The string assigned to the Message property is emitted by the compiler when the attribute target is used in code. İdeal olarak, dize bazı geçici çözüm veya programsal alternatif sağlamalıdır.Ideally, the string should provide some workaround or programmatic alternative.

IsErrorÖzniteliği kullanmanın, ObsoleteAttribute bir hata ( IsError true mu) yoksa bir uyarı ( IsError yani) görüntülemesine neden olması gerektiğini derleyiciye göstermek için özelliğini kullanın 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).

Öznitelikleri kullanma hakkında daha fazla bilgi için bkz. öznitelikler.For more information about using attributes, see Attributes.

Windows 8. x Mağaza uygulamalarıWindows 8.x Store apps

Bir Windows meta veri kitaplığı (. winmd dosyası) oluşturduğunuzda, ObsoleteAttribute ObsoleteAttribute yalnızca kaynak kodda varsa, hem özniteliği hem de Windows. Foundation. Metadata. kullanımdan kaldırıldı. ObsoleteAttributeWhen 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. , ObsoleteAttribute Aşağıdaki gibi öğesine dönüştürülür DeprecatedAttribute :The ObsoleteAttribute is transformed to the DeprecatedAttribute as follows:

  • messageVe error bağımsız değişkenleri varsa message DeprecatedAttribute message bağımsız değişkenine atanır.If the message and error arguments are both present, message is assigned to the DeprecatedAttribute message argument. Kullanım dışı olan bir hata değeri, kullanım dışı true Cationtype. Removeve bir Maps değeri, kullanım dışı bir error değer false .kullanımdan kaldırıldı.An error value of true maps to DeprecationType.Remove, and an error value of false maps to DeprecationType.Deprecate.

  • messageBağımsız değişkeni içinde sağlanmamışsa, ' ObsoleteAttribute DeprecatedAttribute element_name kullanım dışıdır.; burada element_name , özniteliğin uygulandığı hedef program öğesinin adıdır.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.

  • errorBağımsız değişkeni öğesinde yoksa, ' ObsoleteAttribute deki varsayılan değeri DeprecatedAttribute kullanımdan kaldırıldı cationtype. kullanımdankaldırıldı.If the error argument is not present in the ObsoleteAttribute, its default value in the DeprecatedAttribute is DeprecationType.Deprecate.

Önemli

Bu dışarı aktarma işlemi otomatik olarak yapıldığından, Windows. Foundation. Metadata. kullanımdan kaldırıldı ve yönetilen koda doğrudan uygulanması önerilmez.Directly applying the Windows.Foundation.Metadata.DeprecatedAttribute attribute to managed code is not recommended, because this export occurs automatically.

Oluşturucular

ObsoleteAttribute()

Varsayılan özelliklerle sınıfının yeni bir örneğini başlatır ObsoleteAttribute .Initializes a new instance of the ObsoleteAttribute class with default properties.

ObsoleteAttribute(String)

ObsoleteAttributeBelirtilen geçici çözüm iletisiyle sınıfının yeni bir örneğini başlatır.Initializes a new instance of the ObsoleteAttribute class with a specified workaround message.

ObsoleteAttribute(String, Boolean)

ObsoleteAttributeBir geçici çözüm iletisi ile sınıfın yeni bir örneğini ve eski öğe kullanımının bir hata olarak kabul edilip edilmeyeceğini belirten bir Boole değeri başlatır.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.

Özellikler

DiagnosticId

Derleyicinin API kullanımını bildirirken kullanacağı KIMLIĞI alır veya ayarlar.Gets or sets the ID that the compiler will use when reporting a use of the API.

IsError

Derleyicinin Kullanımdan kaldırılmış program öğesinin kullanımını hata olarak kabul etmeyeceğini belirten bir değer alır.Gets a value that indicates whether the compiler will treat usage of the obsolete program element as an error.

Message

Geçici çözüm iletisini alır.Gets the workaround message.

TypeId

Türetilmiş bir sınıfta uygulandığında, bunun için benzersiz bir tanımlayıcı alır Attribute .When implemented in a derived class, gets a unique identifier for this Attribute.

(Devralındığı yer: Attribute)
UrlFormat

Karşılık gelen belgelerin URL 'sini alır veya ayarlar.Gets or sets the URL for corresponding documentation. API, gerçek bir URL yerine bir biçim dizesi kabul eder ve tanılama KIMLIĞINI içeren genel bir URL oluşturur.The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID.

Yöntemler

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.Returns a value that indicates whether this instance is equal to a specified object.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.Returns the hash code for this instance.

(Devralındığı yer: Attribute)
GetType()

TypeGeçerli örneği alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılınırsa, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılınırsa, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

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

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.Maps a set of names to a corresponding set of dispatch identifiers.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilen bir nesnenin tür bilgilerini alır.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.Provides access to properties and methods exposed by an object.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.