RuntimeCompatibilityAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Exception sınıfından türetilmeyen özel durumların bir RuntimeWrappedException nesnesiyle sarmalanıp sarmalanmayacağını 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
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, C++ içinde özel durum olarak bir nesne oluşturan ve nesne 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, oluşan her özel durumun Exception sınıfından türetilmesi gerekir. Diller arasındaki uyumluluğu korumak için ortak dil çalışma zamanı (CLR), nesnede RuntimeWrappedException türetilmeyen Exception nesneleri sarmalar.
Sınıfını RuntimeCompatibilityAttribute kullanarak özel durumların bir derleme için catch blokları ve özel durum filtrelerinin içinde sarmalanmış olarak görünip görünmeyeceğini belirtebilirsiniz. Microsoft C# ve Visual Basic derleyicileri de dahil olmak üzere birçok dil derleyicisi, sarmalama davranışını belirtmek için varsayılan olarak bu özniteliği uygular.
Sınıfını kullanarak sarmalanmalarını istemediğinizi belirtseniz bile çalışma zamanının RuntimeCompatibilityAttribute özel durumları sarmaladığını unutmayın. Bu durumda, özel durumlar yalnızca catch blokları veya özel durum filtreleri içinde kaldırılır.
Oluşturucular
| Name | Description |
|---|---|
| RuntimeCompatibilityAttribute() |
RuntimeCompatibilityAttribute sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| 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 Exception özel durumların bir nesneyle kaydırılıp sarmalanmayacağını belirten bir RuntimeWrappedException değer alır veya ayarlar. |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
| GetHashCode() |
Bu örneğin karma kodunu döndürür. (Devralındığı yer: Attribute) |
| GetType() |
Geçerli örneğin Type 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 Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| _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 kullanıma sunulan özelliklere ve yöntemlere erişim sağlar. (Devralındığı yer: Attribute) |