示例#1
0
        public DynamicInvoker(string diagnosticSourceAssemblyName, Type diagnosticSourceType, Type diagnosticListenerType)
        {
            Validate.NotNull(diagnosticSourceAssemblyName, nameof(diagnosticSourceAssemblyName));

            _diagnosticSourceAssemblyName = diagnosticSourceAssemblyName;
            _diagnosticSourceInvoker      = new DynamicInvoker_DiagnosticSource(diagnosticSourceType);
            _diagnosticListenerInvoker    = new DynamicInvoker_DiagnosticListener(diagnosticListenerType);

            _invalidationListeners = new DynamicInvokerInvalidationListenersCollection(nameof(DynamicInvoker), this);

            _isValid = 1;
        }
 internal DynamicInvokerHandle(T dynamicInvoker)
 {
     Volatile.Write(ref _dynamicInvoker, dynamicInvoker);
     _invalidationListeners = new DynamicInvokerInvalidationListenersCollection($"{nameof(DynamicInvokerHandle<T>)}<{typeof(T).Name}>",
                                                                                this);
 }