在没有悬挂winform的情况下返回方法中的内容

时间:2013-11-22 14:18:38

标签: c# winforms

我的问题有点难以解释。

我有一个对象在构造函数中需要一个接口:

public class Engine
{
  public Engine(IControler controler);
}

在这个界面中,有一种方法需要直接从winform中获取一些东西:

public class Controler : IControler
{
  private MyForm _hook;      

  public Controler(MyForm hook)
  {
    _hook = hook;
  }

  // So, the method should be like this :

  public int GetTheRightThing()  // method from interface
  {
    // return here the right thing from clicking on the winform
    return _hook.WaitForClickAndGetTheRightThing()        
  }
}

那么,我该如何实现方法“_hook.WaitForClickAndGetTheRightThing()”对吗? 我真的不知道如何在不挂表的情况下实现它......

1 个答案:

答案 0 :(得分:0)

那怎么样:

public void GetTheRightThing(Action<int> callback)  // method from interface
{
  // return here the right thing from clicking on the winform
  _hook.WaitForClickAndGetTheRightThing(callback)        
}

并在完成调用后的表单实现

callback.Invoke(result);