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); }