processdocuments.cs

来自「C#高级编程第6版随书源代码 值得下载」· CS 代码 · 共 41 行

CS
41
字号
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace Wrox.ProCSharp.Generics
{
    public class ProcessDocuments<TDocument, TDocumentManager>
        where TDocument : IDocument
        where TDocumentManager : IDocumentManager<TDocument>
    {
        // DocumentManager<TDocument> documentManager;
        TDocumentManager documentManager;

        // public static void Start(DocumentManager<TDocument> dm)
        public static void Start(TDocumentManager dm)
        {
            new Thread(
                new ProcessDocuments<TDocument, TDocumentManager>(dm).Run).Start();
        }
//        protected ProcessDocuments(DocumentManager<TDocument> dm)
        protected ProcessDocuments(TDocumentManager dm)
        {
            documentManager = dm;
        }

        protected void Run()
        {
            while (true)
            {
                if (documentManager.IsDocumentAvailable)
                {
                    TDocument doc = documentManager.GetDocument();
                    Console.WriteLine("Processing document {0}", doc.Title);
                }
                Thread.Sleep(new Random().Next(20));
            }
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?