public class A
{
public event Action OnStateChanged;
}
public class B
{
public A Stage;
public event Action OnXXStageChanged
{
add
{
if(Stage != null){
Stage.OnStateChanged += value;
}
}
remove
{
if(Stage != null){
Stage.OnStateChanged -= value;
}
}
}
}
public class C
{
void test()
{
B b = new B();
b.OnXXStageChanged += f;
b.OnXXStageChanged -= f;
}
void f()
{
}
}
这么做的目的是可以把A中的时间封装起来