Windows运行时从其他库引发事件
本文关键字:事件 其他 运行时 Windows | 更新日期: 2023-09-27 18:08:35
我有一个库a,它有一些事件,我在我自己的库B中使用这个库,然后我有我的Windows运行时应用程序,它只引用库B
当事件从库A中引发时,我想在我的Windows运行时应用程序项目中捕获此事件。
有办法吗?
您可以在Windows运行时应用程序中引用库A,因为库b需要它。
或者你可以把Events封装在b中。请看这里:
class Program
{
public static void Main(string[] args)
{
// Register at B
BLibClass.BEvent += MyMethod;
// Something triggers A
BLibClass.ATrigger();
Console.ReadKey();
}
public static void MyMethod()
{
System.Console.WriteLine("Something happeneds!");
}
}
这是A库:
public class ALibClass
{
public delegate void HandleAEvent();
public static event HandleAEvent AEvent;
public static void ATrigger()
{
AEvent();
}
}
下面是B库:
public class BLibClass
{
public delegate void HandleBEvent();
public static event HandleBEvent BEvent;
private static void WhenAHappens()
{
BEvent();
}
static BLibClass()
{
ALibClass.AEvent += WhenAHappens;
}
public static void ATrigger()
{
ALibClass.ATrigger();
}
}