コード例 #1
0
        private static IPipeline CastingPipeline()
        {
            var builder = new CastingPipelineBuilder();

            builder.AddStep(input => Utils.FindMostCommon(input as string));
            builder.AddStep(input => Utils.CountChars(input as string));
            builder.AddStep(input => Utils.IsOdd((int)input));
            var pipeline = builder.GetPipeline();

            return(pipeline);
        }
コード例 #2
0
ファイル: Split.cs プロジェクト: Hirogen/regexLogSplitter
        public void StartPipeline(CancellationToken cancellationToken)
        {
            CastingPipelineBuilder builder = new CastingPipelineBuilder();

            if (Filename.FileInformation.Exists)
            {
                _fileToRead  = new StreamReader(Filename.FileName);
                _fileToWrite = new StreamWriter(CreateNewFileName());

                builder.AddStep(input => ReadLineFromFile());
                builder.AddStep(input => WriteLineToFile(input as BlockingCollection <string>));

                var pipeline = builder.GetPipeline();
                pipeline.Finished += res => CloseStreams();
                pipeline.Execute("Test");
            }
        }