fve*_*sch 8 javascript blazor blazor-webassembly
我想知道将数组传递给IJSRuntime.InvokeAsync.
我偶然发现的问题是 blazor 会将数组的每个元素作为参数传递给 javascript 函数,因为 InvokeAsync 有一个开放的参数列表,并且不知道您是否刚刚传递了相同类型的参数或数组。
现在我只使用第二个参数,例如InvokeAsync("functionname", array, false).
还有其他建议吗?更好的解决方案?
Con*_*Low 12
您必须将数组强制转换为object* 或直接调用扩展方法:
var array = Array.Empty<Baz>();
// Casting to object
JS.InvokeAsync<Foo>("bar", (object)array);
// Explicitly call the extension method:
JSRuntimeExtensions.InvokeAsync<Foo>(JS, "bar", array);
Run Code Online (Sandbox Code Playgroud)
或者只是使用它认为您正在尝试调用的重载:
JS.InvokeAsync<Foo>("bar", new object[] { array });
Run Code Online (Sandbox Code Playgroud)
* 基于我对C# 重载解析的有限了解。
| 归档时间: |
|
| 查看次数: |
3353 次 |
| 最近记录: |