LitDev.LDCall.DoCall C# (CSharp) Method

DoCall() private static method

private static DoCall ( Object obj ) : void
obj Object
return void
        private static void DoCall(Object obj)
        {
            MethodInfo methodInfo = (MethodInfo)((Object[])obj)[0];
            Object[] args = (Object[])((Object[])obj)[1];
            string callName = (string)((Object[])obj)[2];
            Primitive result = "";

            try
            {
                if (methodInfo.ReturnType == typeof(Primitive)) result = (Primitive)methodInfo.Invoke(null, args);
                else methodInfo.Invoke(null, args);
            }
            catch (Exception ex)
            {
                Utilities.OnError(Utilities.GetCurrentMethod(), ex);
            }

            lock (lockCall)
            {
                lastResult = result;
                lastCall = callName;
                if (null != _CallCompleteDelegate) _CallCompleteDelegate();
            }
        }