C# 如何将一个方法作为参数传递给另一个方法?

C# 如何将一个方法作为参数传递给另一个方法?,c#,winforms,function,delegates,C#,Winforms,Function,Delegates,我有以下代码: private void SearchForDoc() { try { outputtext = @"c:\temp\outputtxt"; outputphotos = @"c:\temp\outputphotos"; temptxt = @"c:\temp\txtfiles"; temp

我有以下代码:

private void SearchForDoc()
        {
            try
            {
                outputtext = @"c:\temp\outputtxt";
                outputphotos = @"c:\temp\outputphotos";
                temptxt = @"c:\temp\txtfiles";
                tempphotos = @"c:\temp\photosfiles";
                if (!Directory.Exists(temptxt))
                {
                    Directory.CreateDirectory(temptxt);
                }
                if (!Directory.Exists(tempphotos))
                {
                    Directory.CreateDirectory(tempphotos);
                }
                if (!Directory.Exists(outputtext))
                {
                    Directory.CreateDirectory(outputtext);
                }
                if (!Directory.Exists(outputphotos))
                {
                    Directory.CreateDirectory(outputphotos);
                }
                t = Environment.GetEnvironmentVariable(Environment.GetFolderPath(Environment.SpecialFolder.Personal));

                ApplyAllFiles(t,ProcessFile(t);
                for (int i = 0; i < textfiles.Length; i++)
                {


                        FileInfo fi = new FileInfo((textfiles[i]));
                        DirectoryInfo d = new DirectoryInfo(temptxt);
                        long dirSize = DirSize(d);

                        if ((dirSize + fi.Length) <= 8388608)
                            fi.CopyTo(temptxt + "\\" + fi.Name, true);
                        else
                            break;

                }

但这是错误的使用方法。如何使用这些方法?

由于
ProcessFile
方法已具有与相同的签名,您只需指定方法名称:

ApplyAllFiles(t, ProcessFile);

p、 s.w.g好的,既然变量textfiles不再存在,那么现在如何使用FOR循环:在textfiles是string[]之前,FOR(int i=0;itextfiles应该是在
ApplyAllFiles
中处理的所有文件的列表?p.s.w.g我想…textfiles是string[]应该包含ApplyAllFiles中的所有文件,但只包含文本文件@DanielVest如何确定它是否为文本文件?这就是
ProcessFile
所做的吗?@DanielVest这应该对你有用,事实上
ProcessFile
使用的参数是
t
,可以在
ApplyAllFiles
的代码中看到,如果你还有问题,你应该问另一个,这正确地回答了您关于如何将方法
ProcessFile
传递到方法
ApplyAllFiles
中的问题。
ApplyAllFiles(t,ProcessFile(t);
ApplyAllFiles(t, ProcessFile);