如何在c#中传递Callback
本文关键字:Callback | 更新日期: 2023-09-27 18:04:29
当我从第三方库调用异步函数时,我发现该函数需要传递回调。
函数是
Library.getResult(object options, Action<library.libresult<dataCollection>> callback
谁能告诉我如何在silverlight中传递回调函数
谢谢
为接受结果的方法使用委托。例如,您可以使用lambda表达式来创建:
Library.getResult(options, result => {
// code here runs when the result arrives
});
你也可以声明一个命名方法:
private void HandleResult(library.libresult<dataCollection> result) {
//...
}
然后在调用中使用它的名称,这将自动为它创建一个委托:
Library.getResult(options, HandleResult);
一个Action<library.libresult<dataCollection>>
是一个接受一个library.libresult<dataCollection>
的方法,所以下面应该工作:
Library.getResult(options, result => {
// do something with result
});
这里,result
将是它返回给你的library.libresult<dataCollection>
。假定(但不确定)这是异步的,因此您可能需要考虑线程问题等。