RuntimeCompatibilityAttribute 클래스

정의

Exception 클래스에서 파생되지 않은 예외를 RuntimeWrappedException 개체로 래핑할지 여부를 지정합니다. 이 클래스는 상속될 수 없습니다.

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
상속
RuntimeCompatibilityAttribute
특성

예제

다음 코드 예제에서는 C++에서 예외로 개체를 throw String 하 고 개체를 사용 하 여 catch 하는 어셈블리에 클래스를 적용 RuntimeCompatibilityAttribute 하는 RuntimeWrappedException 방법을 보여 줍니다.

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;
}

설명

C++와 같은 일부 언어를 사용하면 모든 형식의 예외를 throw할 수 있습니다. Microsoft C# 및 Visual Basic 같은 다른 언어에서는 throw된 모든 예외가 클래스에서 Exception 파생되어야 합니다. 언어 간의 호환성을 유지하기 위해 CLR(공용 언어 런타임)은 개체에서 Exception 파생되지 않는 개체를 RuntimeWrappedException 래핑합니다.

클래스를 RuntimeCompatibilityAttribute 사용하여 어셈블리에 대한 catch 블록 및 예외 필터 내에 예외가 래핑되어 표시되는지 여부를 지정할 수 있습니다. Microsoft C# 및 Visual Basic 컴파일러를 비롯한 많은 언어 컴파일러는 기본적으로 이 특성을 적용하여 래핑 동작을 지정합니다.

클래스를 사용하여 RuntimeCompatibilityAttribute 래핑하지 않도록 지정하는 경우에도 런타임은 예외를 계속 래핑합니다. 이 경우 예외는 catch 블록 또는 예외 필터 내에서만 래핑 해제됩니다.

생성자

RuntimeCompatibilityAttribute()

RuntimeCompatibilityAttribute 클래스의 새 인스턴스를 초기화합니다.

속성

TypeId

파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다.

(다음에서 상속됨 Attribute)
WrapNonExceptionThrows

Exception 클래스에서 파생되지 않은 예외를 RuntimeWrappedException 개체로 래핑할지 여부를 나타내는 값을 가져오거나 설정합니다.

메서드

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.

(다음에서 상속됨 Attribute)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.

(다음에서 상속됨 Attribute)
Match(Object)

파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

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

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).

(다음에서 상속됨 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.

(다음에서 상속됨 Attribute)

적용 대상