using System; using System.Runtime.InteropServices; namespace ObjCRuntime { public static class MessageSend { internal const string LIBOBJC_DYLIB = "/usr/lib/libobjc.dylib"; public struct objc_super { public IntPtr Handle; public IntPtr SuperHandle; } [DllImport (LIBOBJC_DYLIB, EntryPoint = "objc_msgSend")] public extern static void void_objc_msgSend (IntPtr receiver, IntPtr selector); [DllImport (LIBOBJC_DYLIB, EntryPoint = "objc_msgSend")] public extern static IntPtr IntPtr_objc_msgSend (IntPtr receiver, IntPtr selector); [DllImport (LIBOBJC_DYLIB, EntryPoint = "objc_msgSend")] public extern static void void_objc_msgSend_IntPtr (IntPtr receiver, IntPtr selector, IntPtr p1); } }