예제 #1
0
        public ContainerAndScanner(
            BuildStatusContainer buildStatusContainer
            )
        {
            if (buildStatusContainer is null)
            {
                throw new ArgumentNullException(nameof(buildStatusContainer));
            }

            _buildStatusContainer = buildStatusContainer;
            _buildStatusContainer.ChangeBuildStatusEvent += buildStatusContainer_ChangeBuildStatusEvent;
        }
예제 #2
0
        public BackgroundScanner(
            IVsOutputWindowPane outputPane,
            BuildStatusContainer buildStatusContainer
            )
        {
            if (outputPane is null)
            {
                throw new ArgumentNullException(nameof(outputPane));
            }

            if (buildStatusContainer is null)
            {
                throw new ArgumentNullException(nameof(buildStatusContainer));
            }

            _outputPane              = outputPane;
            _buildStatusContainer    = buildStatusContainer;
            _cancellationTokenSource = new CancellationTokenSource();

            _scanTask = new Thread(
                () => PerformScanBackground()
                );
        }