所以这是我的设置,评论显示了我想要做的事情:
class Process
{
void SomeMethod()
{
// Here I want to call Parent.MethodToCall()
}
}
class Controller
{
Process c = new Process();
void MethodToCall()
{
}
}
现在Controller.MethodToCall()
将在整个类的生命周期中多次调用Process
。
它只是需要调用的父方法,所以我相信使用 anevent
会有点浪费,因为我永远不会删除处理程序并且只会有一次调用。
所以我目前用来解决这个问题的方式如下:
class Process
{
public Func<void> Method { get; set; }
void SomeMethod()
{
Method();
}
}
class Controller
{
Process c = new Process() { Method = MethodToCall }
void MethodToCall()
{
}
}
首先,语法可能不完美,我很快在记事本中敲了它。
我的问题:什么是实现我想要的最佳方式,因为我正在做的事情看起来很混乱?......或者我在设计方面是否认为这是完全错误的方式?
本质上,我想要做的是调用 Controller 类中的方法而不将其公开,因为如果它是公开的,我可以简单地将 Controller 作为参数传递给 Process。