コード例 #1
0
        public void EventRemove_ByTypes_Private()
        {
            var accessor = DelegateFactory.EventRemove <TestClass, TestClass.PrivateEventArgs>("PrivateEvent");

            Assert.IsNotNull(accessor);
            var eventExecuted = false;
            EventHandler <TestClass.PrivateEventArgs> eventHandler = (sender, args) =>
            {
                eventExecuted = true;
                Assert.IsInstanceOfType(args, typeof(TestClass.PrivateEventArgs));
            };

            _testClassInstance.AddPrivateEventHandler(eventHandler);
            accessor(_testClassInstance, eventHandler);
            _testClassInstance.InvokePrivateEvent();
            Assert.IsFalse(eventExecuted);
        }
コード例 #2
0
        public void EventInvoke_ByObjects_Private()
        {
            var call = typeof(TestClass).EventInvoke("PrivateEvent");

            Assert.IsNotNull(call);
            var eventExecuted = false;

            void EventHandler(object sender, TestClass.PrivateEventArgs args)
            {
                eventExecuted = true;
                Assert.IsInstanceOfType(args, typeof(TestClass.PrivateEventArgs));
            }

            var testClassInstance = new TestClass();

            testClassInstance.AddPrivateEventHandler(EventHandler);
            call(testClassInstance, new TestClass.PrivateEventArgs());
            Assert.IsTrue(eventExecuted);
        }
コード例 #3
0
        public void EventRemove_ByObjectAndType_Private()
        {
            var accessor = typeof(TestClass).EventRemove <TestClass.PrivateEventArgs>("PrivateEvent");

            Assert.IsNotNull(accessor);
            var eventExecuted = false;

            void EventHandler(object sender, TestClass.PrivateEventArgs args)
            {
                eventExecuted = true;
                Assert.IsInstanceOfType(args, typeof(TestClass.PrivateEventArgs));
            }

            var testClassInstance = new TestClass();

            testClassInstance.AddPrivateEventHandler(EventHandler);
            accessor(testClassInstance, EventHandler);
            testClassInstance.InvokePrivateEvent();
            Assert.IsFalse(eventExecuted);
        }