1
我想将事件传递给另一个事件,现在我使用函数来执行该操作。如何将事件传递给另一个事件
C#能否像b.WriteEvent + = a.WriteEvent一样传递事件?
如果我有很多课程,只是想要传递参数给上面的类。
我想写如:a.event + = b.event。 b.event + = c.event
而不是很多没有使用的方法。
感谢。
class Program
{
static void Main(string[] args)
{
ClassA a = new ClassA();
ClassB b = new ClassB();
a.WriteEvent += MainWrite;
b.WriteEvent += a.WireFunction; // Now I use
//b.WriteEvent += a.WriteEvent; <= Can I use like this ?
b.WireFunction("some str");
Console.ReadLine();
}
static void MainWrite(string str)
{
Console.WriteLine(str);
}
}
class ClassA
{
public event Handler WriteEvent;
public void WireFunction(string str)
{
WriteEvent(str);
}
}
class ClassB
{
public event Handler WriteEvent;
public void WireFunction(string str)
{
WriteEvent(str);
}
}
public delegate void Handler(string str);
您可以对多个事件使用相同的事件处理程序:'b.WriteEvent + = MainWrite;' –
不知道你为什么要问;编译器会提供一条错误消息。消息不明确吗?另外,你为什么试图这样做? – jeroenh
原因是我的MainClass无法调用ClassB。谢谢 –