public DiagnosticTraceButtonViewModel(IFolderPickerService folderPicker, IEventLogger logger, IEventTracer tracer, string startTraceLabel, string stopTraceLabel) { this.isBusy = false; this.folderPicker = folderPicker ?? throw new ArgumentNullException(nameof(folderPicker)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.tracer = tracer ?? throw new ArgumentNullException(nameof(tracer)); this.traceCommand = new AsyncActionCommand(() => !this.isBusy, ToggleTrace); this.startTraceLabel = startTraceLabel; this.stopTraceLabel = stopTraceLabel; IsTracing = false; }
/// <summary> /// イベントログを実際に処理するオブジェクトを組み込みます。 /// </summary> /// <param name="tracer">イベントログを実際に処理するオブジェクトを指定します。</param> public void Assign(IEventTracer tracer) { this.FTraceProcesser = tracer; }