gpt4 book ai didi

c# - 从内部类引发事件以在外部类处理,怎么办?

转载 作者:行者123 更新时间:2023-12-04 06:51:12 24 4
gpt4 key购买 nike

我有一个A类,B类

    class A
{
public class B
{
public event EventHandler handleClick;
public void eventraising(object sender, EventArgs e)
{
if (handleClick != null)
handleClick(this, e);
}
}

//handle raised event here
}

我怎样才能做到这一点

最佳答案

A 类首先需要一个 B 的实例。 .NET 中的嵌套类只是组织类型的一种方式。它并不意味着对实例拥有任何类型的所有权。

因此,您必须执行以下操作:

class A
{

private B instanceOfB;

// constructor
public A() {
instanceOfB = new B();
instanceOfB.handleClick += instanceOfB_handleClick;
}

// event handler
private void instanceOfB_handleClick(object sender, EventArgs e) {
// blah
}

public class B
{
public event EventHandler handleClick;
public void eventraising(object sender, EventArgs e)
{
if (handleClick != null)
handleClick(this, e);
}
}

}

此外,您的事件应该只称为 Click,而不是 handleClick。

关于c# - 从内部类引发事件以在外部类处理,怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3099795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com