System.Net.DebugThreadTracking.ThreadContract C# (CSharp) Метод

ThreadContract() статический приватный Метод

static private ThreadContract ( ThreadKinds kind, ThreadKinds allowedSources, string errorMsg ) : void
kind ThreadKinds
allowedSources ThreadKinds
errorMsg string
Результат void
        internal static void ThreadContract(ThreadKinds kind, ThreadKinds allowedSources, string errorMsg)
        {
            if ((kind & ThreadKinds.SourceMask) != ThreadKinds.Unknown || (allowedSources & ThreadKinds.SourceMask) != allowedSources)
            {
                throw new InternalException();
            }

            if (NetEventSource.IsEnabled)
            {
                ThreadKinds threadKind = CurrentThreadKind;
                if ((threadKind & allowedSources) != 0)
                {
                    NetEventSource.Fail(null, $"Thread Contract Violation.|Expected source:({allowedSources}) Actual source:({threadKind & ThreadKinds.SourceMask})");
                }
                if ((threadKind & kind) == kind)
                {
                    NetEventSource.Fail(null, $"Thread Contract Violation.|Expected kind:({kind}) Actual kind:({threadKind & ~ThreadKinds.SourceMask})");
                }
            }
        }
    }

Same methods

DebugThreadTracking::ThreadContract ( ThreadKinds kind, string errorMsg ) : void