如何在下面的代码中进行代码重构?

时间:2017-07-25 07:34:21

标签: c# printing

有没有人有我的提示? 我是编码的新手: - )

private void PrintFile_btn_Click(object sender, EventArgs e)
    {
        PrintDocument printDoc = new PrintDocument();
        PrintDocument printDoc2 = new PrintDocument();
        List<PrintDocument> docList = new List<PrintDocument>();
        printDoc.DocumentName = @"C:\Users\test\Desktop\1\1.pdf";
        printDoc2.DocumentName = @"C:\Users\test\Desktop\1\2.pdf";
        docList.Add(printDoc);
        docList.Add(printDoc2);
        printDoc.Print();
        printDoc2.Print();
    }

2 个答案:

答案 0 :(得分:1)

我认为这看起来更干净,我已经省略了List docList,因为它不需要。

private void PrintFile_btn_Click(object sender, EventArgs e)
{
        List<string> docs= new List<string> 
        {
         @"C:\Users\test\Desktop\1\1.pdf",
         @"C:\Users\test\Desktop\1\2.pdf"
        };

        foreach(var doc in docs)
        {
              var printDoc = new PrintDocument();
              printDoc.DocumentName = doc;
              printDoc.Print();
        }
}

答案 1 :(得分:1)

最好重构此方法并将方法外的打印逻辑移出。可能你也不需要列表。如果您有一些文件名模式,则可以进一步优化它。

    private void PrintFile_btn_Click(object sender, EventArgs e)
    {
        PrintDoc(@"C:\Users\test\Desktop\1\1.pdf");
        PrintDoc(@"C:\Users\test\Desktop\1\2.pdf");
    }

    private void PrintDoc(string documentPath)
    {
        PrintDocument printDoc = new PrintDocument();
        printDoc.DocumentName = documentPath;
        printDoc.Print();
    }