【问题标题】:C# Abstract class, using anonymous instead of declaring concrete class?C#抽象类,使用匿名而不是声明具体类?
【发布时间】:2008-10-07 21:02:16
【问题描述】:

我有一个抽象类,我想通过不创建继承抽象类的具体类来快速使用它。好吧,匿名定义抽象方法。

类似的东西:

           Command c = new Command(myObject){
               public override void Do()
               {
               }                   
            };

在 C# .net 2.0 中可以吗?

【问题讨论】:

    标签: c# .net .net-2.0 abstract-class anonymous-methods


    【解决方案1】:

    你可以创建一个类型来包装一个提供实现的操作:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-11
      • 1970-01-01
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-16
      • 2019-04-10
      相关资源
      最近更新 更多