2
我有一个抽象类,我想通过不创建一个继承抽象类的具体类来快速使用它。那么,要匿名定义抽象方法。C#抽象类,使用匿名而不是声明具体类?
类似的东西:
Command c = new Command(myObject){
public override void Do()
{
}
};
是否有可能在C#.net 2.0吗?
我有一个抽象类,我想通过不创建一个继承抽象类的具体类来快速使用它。那么,要匿名定义抽象方法。C#抽象类,使用匿名而不是声明具体类?
类似的东西:
Command c = new Command(myObject){
public override void Do()
{
}
};
是否有可能在C#.net 2.0吗?
你可以创建一个包装提供了一个实现这样的动作类型:
class ActionCommand
{
private readonly Action _action;
public ActionCommand(Action action)
{
_action = action;
}
public override void Do()
{
_action();
}
};
这则可以使用像这样:
Command c = new Command((Action)delegate()
{
// insert code here
});