将C#委托给Method

时间:2018-06-23 13:37:15

标签: c# delegates

我有一个C#应用程序。在这个应用程序中,我有一个带有许多方法的类。我正在尝试使更多代码更易于管理。为了做到这一点,我试图得到这样的东西:

public class MyClass
{
  public async Task Run()
  {
    // This works
    Func<Task> task1 = async () =>
    {
      Thread.Sleep(5000);
      await Task.CompletedTask;
    };    
    await task1();

    // Is there a way to do something like this?
    var task2 = Task2;
    await task2();    
  }

  public async Task Task2() 
  {
      Thread.Sleep(3000);
      await Task.CompletedTask;
  }    
}

我知道有人会回答“您为什么不只说await Task2()?”。在进行有效观察的同时,我试图找出如何获得对该方法的引用,以便可以将其传递给另一个方法。我想保持我的代码示例简洁。

有没有办法让C#函数获得委托?我知道我可以用JavaScript做到这一点。但是,我不确定如何在C#中执行此操作。谢谢!

0 个答案:

没有答案