Animatroller.Framework.Expander.MonoExpanderBaseInstance.HandleMessage C# (CSharp) Метод

HandleMessage() публичный Метод

public HandleMessage ( string connectionId, Type messageType, object messageObject ) : void
connectionId string
messageType System.Type
messageObject object
Результат void
        public void HandleMessage(string connectionId, Type messageType, object messageObject)
        {
            this.connectionId = connectionId;

            System.Reflection.MethodInfo methodInfo;
            lock (this)
            {
                if (!this.handleMethodCache.TryGetValue(messageType, out methodInfo))
                {
                    var handleMethods = typeof(MonoExpanderInstance).GetMethods()
                        .Where(x => x.Name == "Handle" && x.GetParameters().Any(p => p.ParameterType == messageType))
                        .ToList();

                    methodInfo = handleMethods.SingleOrDefault();

                    this.handleMethodCache.Add(messageType, methodInfo);
                }
            }

            methodInfo?.Invoke(this, new object[] { messageObject });
        }