为什么此Action事件为null?

Dra*_*aco 3 c# events

我目前有2个WinForms.

FORMA创建的实例FormB.我调用FormBShowDialog()方法.

FormB定义public event Action<SomeClass, string> Analyze

当我单击FormBProcessEvent按钮时,我执行以下操作:

Action<SomeClass, string> tempAction = Analyze;
if (tempAction != null)
{
  tempAction.Invoke(instanceOfSomeClass, someString);
}
Run Code Online (Sandbox Code Playgroud)

但是因为tempAction为null,所以不会调用该事件.

为什么它会为空?

我在FormA中以相同的方式定义事件,它们工作正常.

编辑:

我有一个订阅该活动的演示者类:

formBInstance.Analyze += StartAnalyze
Run Code Online (Sandbox Code Playgroud)

Ste*_*cya 6

你必须签署活动.如果没有subribers Analyze将为null

FormB form = new FormB();
form.Analyze += OnAnanlyze; // define callback function
Run Code Online (Sandbox Code Playgroud)