Aracılığıyla paylaş


RuntimeCompatibilityAttribute Sınıf

Tanım

Sınıfından türetilmeyen özel durumların bir RuntimeWrappedException nesnesiyle sarmalanıp sarmalanmayacağını Exception belirtir. Bu sınıf devralınamaz.

public ref class RuntimeCompatibilityAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)]
public sealed class RuntimeCompatibilityAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)]
[System.Serializable]
public sealed class RuntimeCompatibilityAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)>]
type RuntimeCompatibilityAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)>]
[<System.Serializable>]
type RuntimeCompatibilityAttribute = class
    inherit Attribute
Public NotInheritable Class RuntimeCompatibilityAttribute
Inherits Attribute
Devralma
RuntimeCompatibilityAttribute
Öznitelikler

Örnekler

Aşağıdaki kod örneği, C++ içinde özel durum olarak bir nesne oluşturan ve bir nesnesi kullanarak RuntimeWrappedException yakalayan bir String derlemeye sınıfın nasıl uygulanacağını RuntimeCompatibilityAttribute gösterir.

using namespace System;
using namespace System::Runtime::CompilerServices;

[assembly:RuntimeCompatibilityAttribute(WrapNonExceptionThrows = true)]; 

void run()
{
    try
    {
        throw gcnew String("This is a string");

    }
    catch(RuntimeWrappedException^ e)
    {
        Console::WriteLine("RuntimeWrappedException caught!");
    }
}

int main()
{
    run();

    return 0;
}

Açıklamalar

C++ gibi bazı diller herhangi bir türde özel durumlar oluşturmanıza olanak sağlar. Microsoft C# ve Visual Basic gibi diğer diller, atılan her özel durumun sınıfından Exception türetilmesi gerekir. Diller arasındaki uyumluluğu korumak için ortak dil çalışma zamanı (CLR), bir RuntimeWrappedException nesnede türetilmeyen Exception nesneleri sarmalar.

Özel durumların RuntimeCompatibilityAttribute bir derleme için catch blokları ve özel durum filtreleri içinde sarmalanmış olarak görünip görünmeyeceğini belirtmek için sınıfını kullanabilirsiniz. Microsoft C# ve Visual Basic derleyicileri de dahil olmak üzere birçok dil derleyicisi, sarmalama davranışını belirtmek için bu özniteliği varsayılan olarak uygular.

Sınıfını kullanarak RuntimeCompatibilityAttribute sarmalanmalarını istemediğinizi belirtseniz bile çalışma zamanının özel durumları sarmaladığını unutmayın. Bu durumda, özel durumlar yalnızca catch blokları veya özel durum filtreleri içinde çıkarılır.

Oluşturucular

RuntimeCompatibilityAttribute()

RuntimeCompatibilityAttribute sınıfının yeni bir örneğini başlatır.

Özellikler

TypeId

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

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

Sınıfından türetilmeyen özel durumların bir nesnesiyle sarmalanıp sarmalanmayacağını Exception belirten bir RuntimeWrappedException değer alır veya ayarlar.

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