这可能很容易,但是我很困惑。我想创建一个通用类,该类将在我的程序中多次使用。我希望这是非常轻巧和超快的。

对于C#中的一个非常简单的示例:

public class SystemTest
{
   public TestMethod(string testString)
   {
      if(testString == "blue")
      {
         RunA();
      }
      else if(testString == "red")
      {
         RunB();
      }
      else if(testString == "orange")
      {
         RunA();
      }
      else if(testString == "pink")
      {
         RunB();
      }
   }

   protected void RunA() {}
   protected void RunB() {}
}


我希望由实例化此类的对象定义和控制RunA()和RunB()。完全由对象实例化SystemTest类来确定RunA()和RunB()会做什么。你怎么做到这一点?

我不希望实例对象始终继承此SystemTest类,并且希望它超级快速地运行。我唯一想到的是复杂的处理器密集型内容。我知道有一种更简单的方法可以做到这一点。



编辑:通常,运行速度更快的代理或以下答案的接口方法?

最佳答案

您可以:

public class SystemTest
{
   Action RunA;
   Action RunB;
   public SystemTest(Action a, Action b)
   {
      RunA = a;
      RunB = b;
   }
   //rest of the class
}

09-17 06:34