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
});