Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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
Design patterns 这个DirSearch方法应该是公共的、私有的还是静态的?_Design Patterns_Methods_Static_Access Modifiers - Fatal编程技术网

Design patterns 这个DirSearch方法应该是公共的、私有的还是静态的?

Design patterns 这个DirSearch方法应该是公共的、私有的还是静态的?,design-patterns,methods,static,access-modifiers,Design Patterns,Methods,Static,Access Modifiers,此方法只使用“void”就可以运行,但在其中添加“public”、“private”或“static”是个好主意吗?如果是,我应该补充什么?为什么?如果您想知道,这段代码将通过一个目录树运行,并获取该目录树中的所有文件名 void DirSearch(string sourcePath) { try { foreach (string f in Directory.GetFiles(sourcePath)) { string

此方法只使用“void”就可以运行,但在其中添加“public”、“private”或“static”是个好主意吗?如果是,我应该补充什么?为什么?如果您想知道,这段代码将通过一个目录树运行,并获取该目录树中的所有文件名

void DirSearch(string sourcePath)
{
    try
    {
        foreach (string f in Directory.GetFiles(sourcePath))
        {
            string fileName = System.IO.Path.GetFileName(f);

            if (!listBox1.Items.Contains(fileName))
            {
                listBox1.Items.Add(fileName);
            }
        }                
        foreach (string d in Directory.GetDirectories(sourcePath))
        {                    
            DirSearch(d);
        }        
    }
    catch (Exception ex)
    {
        listBox1.Items.Add(ex.Message);
    }
}

方法在哪里?它是在类或结构内部定义的吗?或者它是一个免费的函数?添加private。如果它能编译,那就太好了。如果不是,您应该考虑为什么不,以及是否需要另一个修饰符。@CodyGray它在主类中。单击按钮时,事件处理程序调用此方法。事件处理程序和此方法都在一个类下。