首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将回调方法传递给C#中的另一个类

如何将回调方法传递给C#中的另一个类
EN

Stack Overflow用户
提问于 2018-07-31 03:32:53
回答 2查看 1.1K关注 0票数 0

我使用的是C#,我创建了一个应用程序A和一个动态链接库B。我希望能够做到以下几点:

  1. 在App A中,创建我的回调方法:

public void MyAppMethod(string inComing){ Debug.WriteLine("callback returned:“+ inComing);}

  • 在App A中,设置B中的callback方法,如DLL B中的B.SetCallback(MyAppMethod);

  • ,使用回调返回一个字符串:

void SomeMethod(){ //做一些事情MyAppMethod("hello");}

我该如何设置它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-31 04:59:38

使用事件:

应用A:

代码语言:javascript
复制
public void MyAppMethod(string inComing){
    Debug.WriteLine("callback returned: " + inComing);
}

B.MyAppMethod += MyAppMethod;

应用程序B:

代码语言:javascript
复制
public event Action<string> MyAppMethod;
private void SomeMethod(){
    //do some stuff
    if(MyAppMethod!=null) MyAppMethod("hello");
}

使用代理:

应用A:

代码语言:javascript
复制
public void MyAppMethod(string inComing){
    Debug.WriteLine("callback returned: " + inComing);
}

B.MyAppMethod = MyAppMethod;

应用程序B:

代码语言:javascript
复制
public Action<string> MyAppMethod;
private void SomeMethod(){
    //do some stuff
    if(MyAppMethod!=null) MyAppMethod("hello");
}

这些代码将按原样工作。但是,在使用此代码之前,您必须考虑许多重要的事情,您将发现on the web

票数 0
EN

Stack Overflow用户

发布于 2018-07-31 20:43:05

这是我最终使用的代码。

应用A:

代码语言:javascript
复制
public void MyCallBack(string status)
{
   // Add callback text to the status window
   StatTxt.AppendText(status);
}

// Set the callback method in DLL B
B.HollaBack = MyCallBack;

DLL B:

代码语言:javascript
复制
public delegate void CallBackDelegate(string status);  
public CallBackDelegate HollaBack
{
   get; set;
}

private void DoCallBack(string inMsg)
{
   // Make sure the callback method was set
   if (HollaBack != null)
   {
      // send text to the callback method
      HollaBack(inMsg);
   }
}

// Invoke the callback anywhere within DLL B
DoCallBack("show this in the status window");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51601069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档