我已经使用委托来表示方法 - 但我现在有许多具有相同方法的类(但这些方法中的代码不同)。
有没有办法委派整个班级?
伪代码:
class myModelA
{
void update()
{
}
}
class myModelB
{
void update()
{
}
}
delegate class myModel;
if (x==1)
myModel = myModelA;
else
myModel = myModelB;
myModel.update();
我知道我可以委托“üpdate”方法但在现实世界中我有很多方法,我宁愿只是简单地委托类。
EDIT1 based on Jon Skeet's answer
但是我如何声明一个公共变量?(非公共变量编译OK)
public interface IModel
{
double myDouble; <<<< this gives an error
void Update();
}
public class MyModelA : IModel
{
public double myDouble;
public void Update() { ... }
}
public class MyModelB : IModel
{
public double myDouble;
public void Update() { ... }
}