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;
}
你不能直接传递你的参数,但你可以使用 lambda 表达式来包装它。
watcher.Created += (source, e) => OnChanged(source, e, label4);
你可以为此使用 lambda 表达式:
watcher.Created += (sender, args) => OnChanged(label)
有关 lambda 表达式的一些背景知识