Пример #1
0
        internal static void runTryCode(object userData)
        {
            ExecutionContextRunData data = (ExecutionContextRunData)userData;

            data.ecsw = SetExecutionContext(data.ec);
            data.callBack(data.state);
        }
Пример #2
0
        static internal void runTryCode(Object userData)
        {
            ExecutionContextRunData rData = (ExecutionContextRunData)userData;

            rData.ecsw = SetExecutionContext(rData.ec);
            rData.callBack(rData.state);
        }
Пример #3
0
        internal static void RunInternal(ExecutionContext executionContext, ContextCallback callback, object state)
        {
            if (cleanupCode == null)
            {
                tryCode     = new RuntimeHelpers.TryCode(ExecutionContext.runTryCode);
                cleanupCode = new RuntimeHelpers.CleanupCode(ExecutionContext.runFinallyCode);
            }
            ExecutionContextRunData userData = new ExecutionContextRunData(executionContext, callback, state);

            RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(tryCode, cleanupCode, userData);
        }
        internal static void RunInternal(ExecutionContext executionContext, ContextCallback callback,  Object state)
        {
            if (cleanupCode == null)
            {
                tryCode = new RuntimeHelpers.TryCode(runTryCode);
                cleanupCode = new RuntimeHelpers.CleanupCode(runFinallyCode);
            }

            ExecutionContextRunData runData = new ExecutionContextRunData(executionContext, callback, state);            
            RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(tryCode, cleanupCode, runData);
        }
Пример #5
0
        static internal void runFinallyCode(Object userData, bool exceptionThrown)
        {
            ExecutionContextRunData rData = (ExecutionContextRunData)userData;

            rData.ecsw.Undo();
        }