我目前有 2 个 WinForms。
FormA 创建一个 FormB 的实例。我调用 FormB 的 ShowDialog() 方法。
FormB 定义 public event Action<SomeClass, string> Analyze
当我点击 FormB 的 ProcessEvent 按钮时,我执行以下操作:
Action<SomeClass, string> tempAction = Analyze;
if (tempAction != null)
{
tempAction.Invoke(instanceOfSomeClass, someString);
}
但是事件没有被调用,因为 tempAction 为空。
为什么会为空?
我在 FormA 中以相同的方式定义事件,它们工作正常。
编辑:
我有一个订阅事件的演示者类:
formBInstance.Analyze += StartAnalyze
最佳答案
事件必须签到。如果没有订阅者,Analyze 将为空
FormB form = new FormB();
form.Analyze += OnAnanlyze; // define callback function
关于c# - 为什么此 Action 事件为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6704081/