İngilizce dilinde oku

Aracılığıyla paylaş


ObsoleteAttribute Sınıf

Tanım

Artık kullanımda olmayan program öğelerini işaretler. Bu sınıf devralınamaz.

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
Devralma
ObsoleteAttribute
Öznitelikler

Örnekler

Aşağıdaki örnek, özelliği ve özniteliğiyle ObsoleteAttribute işaretlenmiş bir yöntemi içeren bir sınıfı tanımlar. Koddaki özelliğin OldProperty değerine erişmek bir derleyici uyarısı oluşturur, ancak yöntemini çağırmak CallOldMethod derleyici hatası oluşturur. Örnekte, kaynak kodu derlemeye çalıştığınızda elde ettiğiniz çıkış da gösterilir.

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

Açıklamalar

ObsoleteAttribute derlemeler, modüller, parametreler ve dönüş değerleri dışındaki tüm program öğeleri için geçerlidir. Bir öğeyi eski olarak işaretlemek, kullanıcılara öğenin ürünün gelecekteki bir sürümünde kaldırılabileceğini bildirir.

Özelliğe atanan Message dize, kodda öznitelik hedefi kullanıldığında derleyici tarafından yayılır. İdeal olarak, dizenin geçici bir çözüm veya program aracılığıyla alternatif sağlaması gerekir.

özniteliğini IsError kullanmanın ObsoleteAttribute hata ( is true) veya uyarı (IsErrorIsError is false) yaymasına neden olup olmayacağını derleyiciye göstermek için özelliğini kullanın.

Öznitelikleri kullanma hakkında daha fazla bilgi için bkz . Öznitelikler.

Oluşturucular

ObsoleteAttribute()

Sınıfın ObsoleteAttribute yeni bir örneğini varsayılan özelliklerle başlatır.

ObsoleteAttribute(String)

Belirtilen geçici çözüm iletisiyle sınıfının yeni bir örneğini ObsoleteAttribute başlatır.

ObsoleteAttribute(String, Boolean)

Sınıfın ObsoleteAttribute yeni bir örneğini geçici bir çözüm iletisiyle ve eski öğe kullanımının hata olarak kabul edilip edilmediğini belirten bir Boole değeriyle başlatır.

Özellikler

DiagnosticId

API kullanımını bildirirken derleyicinin kullanacağı kimliği alır veya ayarlar.

IsError

Derleyicinin eski program öğesinin kullanımını hata olarak değerlendirip değerlendirmediğini belirten bir değer alır.

Message

Geçici çözüm iletisini alır.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

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

İlgili belgelerin URL'sini alır veya ayarlar. API, gerçek URL yerine bir biçim dizesi kabul eder ve tanılama kimliğini içeren genel bir URL oluşturur.

Yöntemler

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

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

Bu örneğe ilişkin karma kodu döndürür.

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

Type Geçerli örneğini alır.

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

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

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

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

Geçerli nesneyi temsil eden dizeyi döndürür.

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

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

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

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

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 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.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ürün Sürümler
.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

Ayrıca bkz.