我正在研究一些代码,我有一个抽象类,它有几个核心属性和一个Run(int index)方法。然后我创建了继承这个的新类型。这些新的类型可以有多种方法,可以根据传入的索引来调用。关于抽象的建议
public abstract class BaseClass
{
public abstract void Run(int index);
}
public class Class1 : BaseClass
{
public override void Run(int index)
{
if (index == 0)
{
MethodA();
}
else if (index == 1)
{
MethodB();
}
}
private void MethodA()
{
//do stuff
}
private void MethodB()
{
//do stuff
}
}
我只是想知道是否有更好的方法来做到这一点。这些类型和方法将从UI调用,例如一个菜单点击。所以我可能有一个class1和一个class2。 Class1可能有3个方法,所以我可以调用run(0)... run(2)。 Class2可能只有一个内部方法,所以我只需要调用run(0)。也许我需要将每个类的整数都作为方法映射。可能还需要为此集合添加一个字符串以保存菜单项的友好名称等。
您是否可以想到一种在保持尽可能多抽象的同时实现此类映射的方法?有没有更好的方法去解决这个问题,我目前的想法?
问题似乎是“我发明的Windows消息循环.. 。 怎么办?” - 我建议跳过这些最初的痛苦版本,并直接使用强类型事件进行一些更新的事件机制... –