System.Transactions.TransactionScope.Initialize C# (CSharp) Method

Initialize() private method

private Initialize ( Transaction transactionToUse, TimeSpan scopeTimeout, bool interopModeSpecified ) : void
transactionToUse Transaction
scopeTimeout TimeSpan
interopModeSpecified bool
return void
        private void Initialize(
            Transaction transactionToUse,
            TimeSpan scopeTimeout,
            bool interopModeSpecified)
        {
            if (null == transactionToUse)
            {
                throw new ArgumentNullException(nameof(transactionToUse));
            }

            ValidateScopeTimeout(nameof(scopeTimeout), scopeTimeout);

            CommonInitialize();

            if (TimeSpan.Zero != scopeTimeout)
            {
                _scopeTimer = new Timer(
                    TimerCallback,
                    this,
                    scopeTimeout,
                    TimeSpan.Zero
                    );
            }

            _expectedCurrent = transactionToUse;
            _interopModeSpecified = interopModeSpecified;

            TransactionsEtwProvider etwLog = TransactionsEtwProvider.Log;
            if (etwLog.IsEnabled())
            {
                etwLog.TransactionScopeCreated(_expectedCurrent.TransactionTraceId, TransactionScopeResult.TransactionPassed);
            }

            PushScope();
        }