Exemplo n.º 1
0
        private void InvokeEventMethod(Event evt)
        {
            var args = new object[] { evt };

            var methods = GetType().GetMethods(BindingFlags.Instance | BindingFlags.Public)
                .Where(m => m.Name == "Apply")
                .Where(m =>
                           {
                               ParameterInfo[] parameters = m.GetParameters();
                               return parameters.Length == 1 && parameters[0].ParameterType == evt.GetType();
                           });

            var method = methods.FirstOrDefault();

            if (method != null)
            {
                method.Invoke(this, args);
            }
        }
Exemplo n.º 2
0
        protected void Record(Event evt)
        {
            _uncommittedEvents.Add(evt);

            InvokeEventMethod(evt);
        }