Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 干燥原理与关键词的使用_C#_Design Patterns_C# 2.0_Dry - Fatal编程技术网

C# 干燥原理与关键词的使用

C# 干燥原理与关键词的使用,c#,design-patterns,c#-2.0,dry,C#,Design Patterns,C# 2.0,Dry,如何在下面的代码中实现DRY原则? 我们可以用一个关键字来删除多个“使用”关键字吗 public void CreateFile() { using (FileStream f1 = new FileStream(@"C:\\Test",FileMode.Create)) { } } public void FontClass() { using (Font f1 = new Font("A

如何在下面的代码中实现DRY原则? 我们可以用一个关键字来删除多个“使用”关键字吗

   public void CreateFile()
    {
        using (FileStream f1 = new FileStream(@"C:\\Test",FileMode.Create))
        {

        }

    }
    public void FontClass()
    {
        using (Font f1 = new Font("Arial", 10.0f))
        {
        }
    }

你不是在重复你自己<代码>使用是为了确保它使用的任何资源最终都得到处置。我想你可以封装它,但是你怎么能得到少于一行的代码呢?是的,你可以。您可以手动处理每个对象。但是你真的想吗?你不是在重复你自己,你在做两件不同的事情,尽管使用相同的机制;但是,如果可能的话,将这种操作方法“泛化”的复杂性可能远远超过临时操作。您的问题听起来像是
我可以将FileStream
用于
字体
,因为两者都是
f1(标识符)
?我在这里没有看到任何重复的代码。两者都是不同的操作。你在两个地方都使用了
new
关键字,这是否意味着你在重复它?你能消除它吗?