C#: Creating an instance of an abstract class without defining new class

前端 未结 9 748
眼角桃花
眼角桃花 2020-12-29 04:25

I know it can be done in Java, as I have used this technique quite extensively in the past. An example in Java would be shown below. (Additional question. What is this techn

9条回答
  •  时光说笑
    2020-12-29 05:24

    Typically, problems that are solved with anonymous inner classes in Java are solved in a much cleaner fashion using delegates in .Net. Your example is a little too simplistic to determine your intent. If your intent by using the abstract class is to pass around a "behavior" think about just using an Action delegate instead.

    public class StartHere{
       public static void main(string[] args){
          Action doStuff = () => Console.WriteLine("Did stuff");
          executeSomething(doStuff);
       }
    
       public static void executeSomething(Action action)
       {
          action();
       }
    }
    

提交回复
热议问题