RuntimeCompatibilityAttribute 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
- 상속
- 특성
예제
다음 코드 예제에서는 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) |
적용 대상
.NET