Blazor:JSObjectReference 和 JSInProcessObjectReference 类型已更改为 internal

ASP.NET Core 5.0 RC1 中引入的新的 Microsoft.JSInterop.JSObjectReferenceMicrosoft.JSInterop.JSInProcessObjectReference 类型已被标记为 internal

引入的版本

5.0 RC2

旧行为

可以通过 IJSRuntime 从 JavaScript 互操作调用中获取 JSObjectReference。 例如:

var jsObjectReference = await JSRuntime.InvokeAsync<JSObjectReference>(...);

新行为

JSObjectReference 使用 internal 访问修饰符。 必须改为使用 public IJSObjectReference 接口。 例如:

var jsObjectReference = await JSRuntime.InvokeAsync<IJSObjectReference>(...);

JSInProcessObjectReference 也被标记为 internal 并由 IJSInProcessObjectReference 替换。

更改原因

此更改使 JavaScript 互操作功能与 Blazor 中的其他模式更加一致。 IJSObjectReference 类似于 IJSRuntime,因为它有类似的目的,并且有类似的方法和扩展。

分别用 IJSObjectReferenceIJSInProcessObjectReference 替换出现的 JSObjectReferenceJSInProcessObjectReference

受影响的 API

  • Microsoft.JSInterop.JSObjectReference
  • Microsoft.JSInterop.JSInProcessObjectReference