ObjCRuntime 네임스페이스
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다.
클래스
| Name | Description |
|---|---|
| AdoptsAttribute |
클래스가 특정 Objective-C 프로토콜을 채택하도록 지정하는 데 사용되는 특성입니다. |
| AssemblyRegistrationEventArgs |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| BaseWrapper |
바인딩 생성기에서 프로토콜 래퍼 형식을 생성하는 데 사용하는 기본 클래스입니다. |
| BindAsAttribute |
BindAsAttribute를 사용하면 네이티브 NSNumber, NSValue 및 NSString(열거형의 경우) 형식을 보다 정확한 관리형 형식으로 바인딩할 수 있습니다. |
| BindingImplAttribute |
이 특성은 바인딩 코드에 대한 정보를 제공합니다. |
| BlockCallbackAttribute |
이 특성은 대리자 매개 변수에 Objective-C 블록 스타일 브리지가 필요하도록 지정하기 위해 대리자의 대리자 매개 변수에 적용됩니다. |
| BlockProxyAttribute |
이 특성은 Objective-C 블록을 관리되는 대리자로 래핑하는 데 사용되는 클래스를 런타임에 알리는 데 사용됩니다. |
| CategoryAttribute |
클래스를 다른 형식을 확장하는 범주로 플래그를 지정하는 데 사용되는 특성입니다. |
| CCallbackAttribute |
이 특성은 대리자 매개 변수에 C 스타일 브리지가 필요하도록 지정하기 위해 대리자의 대리자 매개 변수에 적용됩니다. |
| Class |
Objective-C 클래스에 대한 관리되는 표현입니다. |
| Constants |
시스템 라이브러리에 대한 전역 상수입니다. |
| DelayedRegistrationAttribute |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| DelegateProxyAttribute |
이 특성은 관리되는 대리자를 Objective-C 블록으로 래핑하는 데 사용되는 클래스를 런타임에 알리는 데 사용됩니다. |
| DesignatedInitializerAttribute |
이 특성은 NS_DESIGNATED_INITIALIZER 특성으로 표시된 Objective-C 이니셜라이저를 바인딩하는 관리되는 생성자를 표시하는 데 사용됩니다. |
| DisposableObject |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| Dlfcn |
동적 링커에 대한 액세스 제공 |
| LinkWithAttribute |
LinkWith 특성은 어셈블리와 연결된 네이티브 라이브러리를 결과 애플리케이션에 연결하는 방법을 지정합니다. |
| MarshalManagedExceptionEventArgs |
이벤트에 대한 이벤트 인수입니다 MarshalManagedException . |
| MarshalObjectiveCExceptionEventArgs |
이벤트에 대한 이벤트 인수입니다 MarshalObjectiveCException . |
| MonoNativeFunctionWrapperAttribute |
대리자를 사용하여 플래그를 대상으로 지정하기 위해 대리자에게 적용할 GetDelegateForFunctionPointer(IntPtr, Type)특성입니다. |
| MonoPInvokeCallbackAttribute |
관리되지 않는 환경에서 다시 호출되는 함수에 주석을 추가하는 데 사용되는 특성입니다. |
| NativeAttribute |
이 특성은 이 관리되는 열거형이 바인딩하는 네이티브 열거형이 플랫폼의 네이티브 크기를 각 열거형 값(즉, 32비트 아키텍처의 32비트 값 및 64비트 아키텍처의 64비트 값)으로 사용하고 있음을 Xamarin.iOS 런타임에 알려줍니다. |
| NativeNameAttribute |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| NativeObjectExtensions |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| NMath |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| ObjCException |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| ObjectiveCFrameworkAttribute |
이 특성은 지정된 형식이 속한 Objective-C 프레임워크를 런타임에 알려줍니다. |
| Protocol |
Objective-C 프로토콜의 표현입니다. |
| ReleaseAttribute |
이 특성은 함수의 반환 값이 유지됨을 나타냅니다(호출자는 반환된 개체에 대한 참조를 얻습니다). |
| RequiredFrameworkAttribute |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| RequiresSuperAttribute |
이 특성은 재정의될 때 기본 구현을 호출해야 하는 메서드에 적용됩니다. |
| Runtime |
Xamarin.iOS 런타임에 대한 정보를 제공합니다. |
| Runtime.ClassHandles |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| RuntimeException |
Xamarin 런타임에서 발생하는 예외를 나타내는 클래스입니다. |
| Selector |
관리 코드의 Objective-C 선택기를 나타냅니다. |
| SupportedSimulatorAttribute |
API가 지정된 플랫폼에 대해 지원됨을 나타냅니다. 버전이 지정된 경우 지정된 OS 버전부터 API를 사용할 수 있습니다. 여러 운영 체제에서 지원을 나타내기 위해 여러 특성을 적용할 수 있습니다. |
| ThreadSafeAttribute |
Attribute UIKit(iOS의 경우) 또는 AppKit(macOS의 경우) 메서드 또는 클래스가 스레드로부터 안전하다는 것을 나타내는 A입니다. |
| ThrowHelper |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| TrampolineBlockBase |
Objective-C 트램폴린 블록의 기본 형식입니다. |
| TransientAttribute |
NSObject 하위 클래스의 매개 변수에 임시로 플래그를 지정합니다. |
| TypeConverter |
Objective-C 형식 인코딩을 관리되는 형식으로 변환하고 그 반대로 변환합니다. |
| UnsupportedSimulatorAttribute |
지정된 플랫폼에 대한 시뮬레이터에서 API가 지원되지 않음을 나타냅니다. 여러 플랫폼에서 지원이 없음을 나타내기 위해 여러 특성을 적용할 수 있습니다. |
| UserDelegateTypeAttribute |
이 특성은 바인딩 생성기에서 만든 대리자에서 Objective-C 블록의 서명과 노출된 해당 관리 대리자 간에 올바르게 매핑하는 데 사용됩니다. Objective-C 블록을 바인딩할 때 바인딩 생성기는 서명이 필요한 바인딩 코드에 대한 해당 블록의 서명과 동일한 관리되는 대리자를 만듭니다. 그러나 이 서명이 런타임에 블록의 서명을 다시 만들 만큼 정확하지는 않습니다(경우에 따라 필요). 이 특성을 사용하면 생성된 바인딩에 의해 노출되는 해당 관리 대리자의 형식을 찾을 수 있으며, 해당 블록의 서명을 다시 만들 수 있는 충분한 정보가 있습니다. |
구조체
| Name | Description |
|---|---|
| BlockLiteral |
ECMA CLI 대리자(C# 람다, 익명 메서드 또는 대리자)를 Objective-C 블록으로 래핑합니다. |
| NativeHandle |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
인터페이스
| Name | Description |
|---|---|
| INativeObject |
Xamarin.iOS의 다양한 클래스에서 관리되지 않는 개체 포인터를 노출하는 데 사용되는 간단한 인터페이스입니다. |
열거형
| Name | Description |
|---|---|
| Arch |
이 앱이 실행 중인 호스트를 나타내는 데 사용됩니다. |
| ArgumentSemantic |
속성에 대한 할당 의미 체계를 나타냅니다. |
| BindingImplOptions |
이 열거형은 바인딩 코드에 BindingImplAttribute 대한 정보를 제공하기 위해 형식에서 사용됩니다. |
| Dlfcn.Mode |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| Dlfcn.RTLD |
동적 로더 확인 플래그입니다. |
| DlsymOption |
라이브러리에서 dlsym을 사용하여 P/Invokes를 네이티브 함수로 확인해야 하는지를 지정하는 데 사용됩니다. |
| LinkTarget |
사용할 수 있는 링크 대상 LinkWithAttribute |
| MarshalManagedExceptionMode |
이 열거형은 관리되는 예외가 throw되고 해당 예외가 네이티브 코드에 도달할 때 수행할 작업을 지정하는 데 사용됩니다. |
| MarshalObjectiveCExceptionMode |
이 열거형은 Objective-C 예외가 throw되고 해당 예외가 관리 코드에 도달할 때 수행할 작업을 지정하는 데 사용됩니다. |
대리자
| Name | Description |
|---|---|
| AssemblyRegistrationHandler |
ObjCRuntime 네임스페이스는 .NET Objective-C 형식을 바인딩하기 위한 클래스 및 특성을 제공합니다. |
| MarshalManagedExceptionHandler |
이벤트에 대한 이벤트 대리자입니다 MarshalManagedException . |
| MarshalObjectiveCExceptionHandler |
이벤트에 대한 이벤트 대리자입니다 MarshalObjectiveCException . |
설명
ObjCRuntime 네임스페이스에는 Objective-C 라이브러리와 .NET 코드 간에 바인딩을 만드는 데 사용되는 기본 형식과 특성이 포함되어 있습니다. Apple 플랫폼에서 관리되는 .NET 코드와 네이티브 Objective-C 코드 간의 상호 운용성을 가능하게 하는 런타임 인프라를 제공합니다.
이 네임스페이스의 주요 구성 요소는 다음과 같습니다.
- .NET 형식이 Objective-C 형식에 매핑되는 방식을 제어하는 BindAsAttribute, CategoryAttribute 및 DesignatedInitializerAttribute 같은 바인딩 특성입니다. :
- 런타임은 Objective-C 런타임에 대한 낮은 수준의 액세스를 제공하는 클래스를 ClassSelector 지원합니다. :
- .NET Objective-C 블록으로 작업할 수 있는 BlockLiteral 같은 상호 운용성 형식을 차단합니다. :
이 네임스페이스는 주로 라이브러리 작성자가 Objective-C 프레임워크에 대한 바인딩을 만드는 데 사용되지만, 애플리케이션 개발자는 때때로 고급 상호 운용성 시나리오에 일부 멤버를 사용해야 할 수 있습니다.