iOS Guides | Samples

ObjCRuntime.MonoNativeFunctionWrapperAttribute Class

Attribute to apply to delegates to flag them as targets that can be used with Marshal.GetDelegateForFunctionPointer.

See Also: MonoNativeFunctionWrapperAttribute


public sealed class MonoNativeFunctionWrapperAttribute : Attribute


Since MonoTouch runs in fully statically compiled mode, it is necessary to flag delegate methods that might be passed to the Marshal.GetDelegateForFunctionPointer with this attribute. This instructs the AOT compiler to generate the necessary code to allow a pointer to a native function to produce a C# callable delegate for the method.

C# Example

delegate void SomeDelegate (int a, int b);

// the ptrToFunc points to an unmanaged C function with the signature (int a, int b)
void Callback (IntPtr ptrToFunc)
	var del = (SomeDelegate) Marshal.GetDelegateForFunctionPointer (ptrToFunc, typeof (SomeDelegate));

	// invoke it
	del (1, 2);


Namespace: ObjCRuntime
Assembly: Xamarin.iOS (in Xamarin.iOS.dll)
Assembly Versions:

The members of ObjCRuntime.MonoNativeFunctionWrapperAttribute are listed below.

See Also: Attribute

Public Constructors