ObjCRuntime Namespace

The ObjCRuntime namespace provides classes for binding Objective-C types with the Mono managed runtime.

Classes

AdoptsAttribute

An attribute used to specify that a class adopts a specific Objective-C protocol.

AssemblyRegistrationEventArgs
AvailabilityAttribute

Describes the availability of a member or type in iOS or macOS.

AvailabilityBaseAttribute

Describes the availability of a member or type.

BaseWrapper

Base class used by the bindinge generator to generate Protocol Wrapper Types.

BindAsAttribute

The BindAsAttribute allows binding native NSNumber, NSValue and NSString (for enums) types into more accurate managed types.

BindingImplAttribute

This attribute provides information about binding code.

BlockProxyAttribute

This attribute is used to notify the runtime which class is used to wrap Objective-C blocks into managed delegates.

CategoryAttribute

Attribute used to flag a class as a category that extends the API of another type.

Class

Managed representation for an Objective-C class.

Constants

Global constants to system libraries.

DelayedRegistrationAttribute
DelegateProxyAttribute

This attribute is used to notify the runtime which class is used to wrap managed delegates into Objective-C blocks.

DeprecatedAttribute

Attribute indicating when an API was deprecated on a specific platform.

DesignatedInitializerAttribute

This attribute is used to mark managed constructors that bind Objective-C initializers marked with the NS_DESIGNATED_INITIALIZER attribute.

Dlfcn

Provides access to the dynamic linker

IntroducedAttribute

Attribute indicating when an API was first introduced on a specific platform.

iOSAttribute

Attribute indicating when an API was first introduced in iOS.

LinkWithAttribute

A LinkWith attribute specifies how the native library associated with the assembly should be linked to the resulting application.

MacAttribute

Attribute indicating when an API was first introduced on macOS.

MarshalManagedExceptionEventArgs
MarshalObjectiveCExceptionEventArgs
MonoNativeFunctionWrapperAttribute

Attribute to apply to delegates to flag them as targets that can be used with GetDelegateForFunctionPointer(IntPtr, Type).

MonoPInvokeCallbackAttribute

Attribute used to annotate functions that will be called back from the unmanaged world.

NativeAttribute

This attributes tells the Xamarin.iOS runtime that the native enum this managed enum binds is using a native size for the platform as the size for each enum value (i.e. a 32-bit value on 32-bit architectures, and a 64-bit value on 64-bit architectures).

NoiOSAttribute

Attribute indicating that an API is not available on iOS.

NoMacAttribute

Attribute indicating that an API is not available on macOS.

NoTVAttribute

Attribute indicating that an API is not available on tvOS.

NoWatchAttribute

Attribute indicating that an API is not available on watchOS.

ObsoletedAttribute

Attribute indicating when an API was obsoleted on a specific platform.

PlatformHelper

Utilities for working with the Platform enumeration.

Protocol

Representation of an Objective-C protocol.

ReleaseAttribute

This attribute indicates that the return value of a function is retained (the caller obtains a reference to the object returned).

RequiredFrameworkAttribute
RequiresSuperAttribute

This attribute is applied to methods that must call their base implementation when they're overridden.

Runtime

Provides information about the Xamarin.iOS Runtime.

RuntimeException

Class that represents an exception that occurs in the Xamarin runtime.

Selector

Represents an Objective-C selector in managed code.

SelectorMarshaler
ThreadSafeAttribute

A T:System.Attribute that indicates that a UIKit (for iOS) or AppKit (for macOS) method or class is thread-safe.

TransientAttribute

Flags a paramter in an NSObject subclass as being transient.

TVAttribute

Attribute indicating when an API was first introduced in tvOS.

TypeConverter

Converts Obj-C type encodings to managed types.

UnavailableAttribute

Attribute indicating when an API was removed from a specific platform.

UserDelegateTypeAttribute

This attribute is used on delegates created by the binding generator to properly map between signatures for Objective-C blocks and their corresponding exposed managed delegates.

When binding Objective-C blocks, the binding generator will create a managed delegate whose signature is equivalent to the corresponding block's signature for the required binding code. However, this signature isn't necessarily accurate enough to re-create the block's signature at runtime (which is needed in some circumstances). This attribute makes it possible to find the type of the corresponding managed delegate that is exposed by the generated bindings, which does have enough information to re-create the corresponding block's signature.

WatchAttribute

Attribute indicating when an API was first introduced in watchOS.

Structs

BlockLiteral

Wraps a ECMA CLI delegate (C# lambdas, anonymous methods or delegates) as an Objective-C block.

Interfaces

INativeObject

A simple interface that is used to expose the unmanaged object pointer in various classes in Xamarin.iOS.

Enums

Arch

Used to represent the host on which Xamarin.iOS is running.

ArgumentSemantic

Represents the assignment semantics for properties.

AvailabilityKind

This enum is used to specify the type of availability information in an AvailabilityBaseAttribute.

BindingImplOptions

This enum is used by the BindingImplAttribute type to provide information about binding code.

BlockFlags

Flags for the BlockLiteral enum.

Dlfcn.RTLD

Dynamic loader resolution flags.

DlsymOption

Used to specify if a library requires using dlsym to resolve P/Invokes to native functions.

LinkTarget

Link targets available for LinkWithAttribute

MarshalManagedExceptionMode

This enum is used to specify what to do when an managed exception is thrown, and that exception reaches native code.

MarshalObjectiveCExceptionMode

This enum is used to specify what to do when an Objective-C exception is thrown, and that exception reaches managed code.

Platform

Enumeration values for the various iOS and macOS platforms supported by Xamarin.

PlatformArchitecture

This enum is used in the availability attributes to specify which architecture(s) any given attribute applies to.

PlatformName

This enum is used in the availability attributes to specify which platform any given attribute applies to.

Delegates

AssemblyRegistrationHandler
MarshalManagedExceptionHandler
MarshalObjectiveCExceptionHandler

Remarks

This namespace supports the Mono runtime extensions to integrate the Objective-C classes with the Mono managed runtime.