在另一个方法结束之后,是否可以选择调用方法?我想在Method2
中调用Method1
,但是我希望我的程序在Method2
结束后执行Method1
。
编辑:更具体地说:
private void FileSystemWatcher_Changed(object sender, FileSystemEventArgs e)
{
filePath = e.FullPath;
DoSomethingWithChangedFile();
}
这不起作用,因为FileSystemWatcher_Changed正在使用我想在DoSomethingWithChangedFile()中使用的文件。有什么简单的解决方案我看不到,我只是傻瓜?
答案 0 :(得分:1)
好的,我建议更改架构,但是您可以使用一些方法。 例如,您可以使用事件来通知何时发生并处理此事件。 通常基于事件的内容不容易调试,并且可能成为噩梦。
这里是一个例子:
using System;
namespace ConsoleApp17
{
public class Summer
{
public delegate void EventRaiser();
public event EventRaiser OnSomethingHappened;
public int Sum(int a, int b)
{
int c = a + b;
if (a != b) // you sophisticated check here
{
OnSomethingHappened();
}
return c;
}
}
class Program
{
static void Main(string[] args)
{
Summer a = new Summer();
a.OnSomethingHappened += OnSomethingHandler;
Console.WriteLine($"result = {a.Sum(1, 2)}");
Console.WriteLine($"result = {a.Sum(2, 2)}");
Console.ReadKey();
}
private static void OnSomethingHandler()
{
Console.WriteLine("Something happend");
}
}
}
我希望对您有帮助