У меня есть класс 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.
Вам нужен экземпляр B в A.
class A
{
B b = new B;
A()
{
b.handleClick += (sender, ev) => { ... }
}
}