コード例 #1
0
 public static void ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
 {
     if (code == null)
     {
         throw new ArgumentNullException(nameof(code));
     }
     if (backoutCode == null)
         throw new ArgumentNullException(nameof(backoutCode)); }
コード例 #2
0
ファイル: RuntimeHelpers.cs プロジェクト: pedrobsaila/runtime
        public static void ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, object?userData)
        {
            ArgumentNullException.ThrowIfNull(code);
            ArgumentNullException.ThrowIfNull(backoutCode);

            bool exceptionThrown = true;

            try
            {
                code(userData);
                exceptionThrown = false;
            }
            finally
            {
                backoutCode(userData, exceptionThrown);
            }
        }
コード例 #3
0
        public static void ExecuteCodeWithGuaranteedCleanup(
            TryCode code,
            CleanupCode backoutCode,
            Object userData)
        {
            var exceptionThrown = false;

            try
            {
                code.Invoke(userData);
            }
            catch
            {
                exceptionThrown = true;
            }

            backoutCode.Invoke(userData, exceptionThrown);
        }
コード例 #4
0
        public static void ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, object? userData)
        {
            if (code == null)
                throw new ArgumentNullException(nameof(code));
            if (backoutCode == null)
                throw new ArgumentNullException(nameof(backoutCode));

            bool exceptionThrown = true;

            try
            {
                code(userData);
                exceptionThrown = false;
            }
            finally
            {
                backoutCode(userData, exceptionThrown);
            }
        }
コード例 #5
0
//		[MonoTODO("Currently a no-op")]
        public static void ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
        {
        }
コード例 #6
0
ファイル: RuntimeHelpers.cs プロジェクト: PlumpMath/CIL2Java
 public static void ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, object userData)
 {
     throw new NotImplementedException();
 }
コード例 #7
0
 internal ExecuteWithLockHelper(Object lockObject, TryCode userCode, object userState)
 {
     m_lockObject = lockObject;
     m_userCode   = userCode;
     m_userState  = userState;
 }
コード例 #8
0
        internal static void ExecuteCodeWithLock(Object lockObject, TryCode code, object userState)
        {
            ExecuteWithLockHelper execHelper = new ExecuteWithLockHelper(lockObject, code, userState);

            ExecuteCodeWithGuaranteedCleanup(s_EnterMonitor, s_ExitMonitor, execHelper);
        }
コード例 #9
0
ファイル: RuntimeHelpers.cs プロジェクト: zhongjn/coreclr
 public static extern void ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, object?userData);
コード例 #10
0
ファイル: runtimehelpers.cs プロジェクト: uQr/referencesource
 public static extern void ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData);
コード例 #11
0
 internal static void ExecuteCodeWithLock(object lockObject, TryCode code, object userState)
 {
     ExecuteWithLockHelper userData = new ExecuteWithLockHelper(lockObject, code, userState);
     ExecuteCodeWithGuaranteedCleanup(s_EnterMonitor, s_ExitMonitor, userData);
 }
コード例 #12
0
ファイル: RuntimeHelpers.cs プロジェクト: sjyanxin/WPFSource
 internal ExecuteWithLockHelper(Object lockObject, TryCode userCode, object userState)
 { 
     m_lockObject = lockObject; 
     m_userCode = userCode;
     m_userState = userState; 
 }