簡體   English   中英

C#抽象類,使用匿名而不是聲明具體類?

[英]C# Abstract class, using anonymous instead of declaring concrete class?

我有一個抽象類,我想通過快速使用它,而不創建一個繼承該抽象類的具體類。 好吧,以匿名方式定義抽象方法。

像這樣:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM