当我从第三方库调用异步函数时,我发现该函数需要传递回调。
功能是
Library.getResult(object options, Action<library.libresult<dataCollection>> callback
有人可以告诉我如何在Silverlight中将回调传递给此函数。
感谢
答案 0 :(得分:3)
您使用委托接受结果的方法。例如,您可以使用lambda表达式来创建:
Library.getResult(options, result => {
// code here runs when the result arrives
});
您还可以声明一个命名方法:
private void HandleResult(library.libresult<dataCollection> result) {
//...
}
然后在调用中使用它的名字,它会自动为它创建一个委托:
Library.getResult(options, HandleResult);
答案 1 :(得分:2)
Action<library.libresult<dataCollection>>
是一种采用library.libresult<dataCollection>
的方法,因此以下内容应该有效:
Library.getResult(options, result => {
// do something with result
});
此处,result
将是library.libresult<dataCollection>
,它会让您回复。大概(但不是肯定的)这是异步的,所以你可能需要考虑线程问题等。