📅  最后修改于: 2023-12-03 15:13:48.969000             🧑  作者: Mango
在编写JavaScript应用程序时,您可能需要与C#代码进行交互。为此,您可以使用回调函数来调用C#代码。在这里,我们将介绍如何从JavaScript中调用C#代码,并且如何使用回调函数获取结果。
public class CsharpInterop
{
public void SayHello(string name, Action<string> callback)
{
callback("Hello, " + name + "!");
}
}
在此类中,我们定义了一个名为SayHello的方法。它将接受一个字符串参数表示名称,并具有一个回调函数参数。在此方法中,我们调用回调函数,并将“Hello,+ name +!”字符串传递给它。请注意,回调函数参数的类型为Action
function sayHello(name, callback) {
DotNet.invokeMethodAsync('MyAssemblyName', 'CsharpInterop.SayHello', name)
.then(result => {
callback(result);
});
}
在此函数中,我们使用DotNet.invokeMethodAsync()方法来调用C#方法。该方法接受三个参数:程序集名称,类名和方法名。我们将CsharpInterop.SayHello作为方法名传递。我们还传递了名称参数,这是我们将传递给C#方法的参数。最后,我们在.then()方法中使用回调函数来获取从C#返回的结果。
sayHello('John', function(result) {
console.log(result);
});
在此代码中,我们调用了sayHello()函数,并传递了一个名称参数和一个回调函数。当C#方法返回结果时,回调函数将运行,并将结果打印到控制台中。
在本文中,我们已经学习了如何从JavaScript中调用C#代码。我们使用回调函数来获取从C#返回的结果。通过这种方法,我们可以将JavaScript和C#代码集成在一起,以创建强大的Web应用程序。