C# .net,调用方法时如何使用方法传入变量的语法

本文关键字:使用方法 变量 语法 net 调用 方法 | 更新日期: 2023-09-27 18:33:54

如果这是一个非常简单的修复,我深表歉意,因为我是C#的新手。下面是用于监视 Windows 中的文件夹的代码片段:

FileSystemWatcher watcher = new FileSystemWatcher();
            watcher.Path = label1.Text;
            watcher.NotifyFilter = NotifyFilters.LastWrite |
                                   NotifyFilters.LastAccess |
                                   NotifyFilters.FileName |
                                   NotifyFilters.DirectoryName;
"
            watch.Filter = "*.*";
            watcher.Created += new FileSystemEventHandler(OnChanged(label4));
            watcher.EnableRaisingEvents = true;

如您所见,当我监视正在"创建"的文件的文件夹时,对于每个文件,它将执行方法OnChanged .

我的 .net 应用程序上有一个标签,我想将该标签文本作为字符串变量传递到 OnChanged 方法中。我的问题是如何将变量传入 OnChanged 方法?它似乎无论我尝试过什么语法,包括上面的语法Visual Studio 2010都不喜欢它。

onChanged 方法如下所示:

            public static void OnChanged(object source, FileSystemEventArgs e, String label4)
            {
                FileInfo file = new FileInfo(e.FullPath);
                String fileName = file.Name;
                String outputPath = label4.Text + file.Name;
            }

C# .net,调用方法时如何使用方法传入变量的语法

你不能直接传递你的参数,但你可以使用 lambda 表达式来包装它。

watcher.Created += (source, e) => OnChanged(source, e, label4);

你可以为此使用 lambda 表达式:

watcher.Created += (sender, args) => OnChanged(label)

有关 lambda 表达式的一些背景知识