コード例 #1
0
        public static void Subscribe(NSObject obj, string selector, IntPtrHandler2 callback)
        {
            Methods methods = GetMethods(obj, selector);

            methods.ActionIntPtrIntPtr = (IntPtrHandler2)Delegate.Combine(methods.ActionIntPtrIntPtr, callback);
            if (!_delegates.ContainsKey(selector))
            {
                IntPtrHandler4 intPtrHandler = OnCallbackIntPtrIntPtr;
                if (!ObjC.AddMethod(obj.ClassHandle, Selector.GetHandle(selector), intPtrHandler, "v@:@@"))
                {
                    throw new InvalidOperationException("AddMethod failed for selector " + selector);
                }
                _delegates[selector] = intPtrHandler;
            }
        }
コード例 #2
0
        public static void Subscribe(NSObject obj, string selector, EventHandler <ButtonEventArgs> callback)
        {
            Methods methods = GetMethods(obj, selector);

            methods.EventHandlerInt = (EventHandler <ButtonEventArgs>)Delegate.Combine(methods.EventHandlerInt, callback);
            if (!_delegates.ContainsKey(selector))
            {
                Action <IntPtr, IntPtr, IntPtr, int> action = OnCallbackInt;
                if (!ObjC.AddMethod(obj.ClassHandle, Selector.GetHandle(selector), action, "v@:@l"))
                {
                    throw new InvalidOperationException("AddMethod failed for selector " + selector);
                }
                _delegates[selector] = action;
            }
        }
コード例 #3
0
ファイル: Callbacks.cs プロジェクト: aws/aws-sdk-unity-net
        public static void Subscribe(NSObject obj, string selector, EventHandler <ButtonEventArgs> callback)
        {
            var methods = GetMethods(obj, selector);

            methods.EventHandlerInt += callback;

            if (!_delegates.ContainsKey(selector))
            {
                Action <IntPtr, IntPtr, IntPtr, int> del = OnCallbackInt;
                if (!ObjC.AddMethod(obj.ClassHandle, Selector.GetHandle(selector), del, "v@:@l"))
                {
                    throw new InvalidOperationException("AddMethod failed for selector " + selector);
                }
                else
                {
                    _delegates[selector] = del;
                }
            }
        }
コード例 #4
0
ファイル: Callbacks.cs プロジェクト: aws/aws-sdk-unity-net
        public static void Subscribe(NSObject obj, string selector, IntPtrHandler callback)
        {
            var methods = GetMethods(obj, selector);

            methods.ActionIntPtr += callback;

            if (!_delegates.ContainsKey(selector))
            {
                IntPtrHandler3 del = OnCallback;
                if (!ObjC.AddMethod(obj.ClassHandle, Selector.GetHandle(selector), del, "v@:@"))
                {
                    throw new InvalidOperationException("AddMethod failed for selector " + selector);
                }
                else
                {
                    _delegates[selector] = del;
                }
            }
        }