Blazor:JSObjectReference 和 JSInProcessObjectReference 型別皆已變更為內部型別
ASP.NET Core 5.0 RC1 中引入的新 Microsoft.JSInterop.JSObjectReference
和 Microsoft.JSInterop.JSInProcessObjectReference
型別都已標示為 internal
。
導入的版本
5.0 RC2
舊的行為
可以透過 IJSRuntime
從 JavaScript Interop 呼叫取得 JSObjectReference
。 例如:
var jsObjectReference = await JSRuntime.InvokeAsync<JSObjectReference>(...);
新的行為
JSObjectReference
會使用內部存取修飾詞。 必須改用 public
IJSObjectReference
介面。 例如:
var jsObjectReference = await JSRuntime.InvokeAsync<IJSObjectReference>(...);
JSInProcessObjectReference
亦標示為 internal
,並由 IJSInProcessObjectReference
取代。
變更原因
這項變更可讓 JavaScript Interop 功能與 Blazor 內的其他模式更一致。 IJSObjectReference
與 IJSRuntime
類似,因為兩者都有類似用途,並採用相似的方法和延伸模組。
建議的動作
分別將 JSObjectReference
和 JSInProcessObjectReference
出現的部分取代為 IJSObjectReference
和 IJSInProcessObjectReference
。
受影響的 API
Microsoft.JSInterop.JSObjectReference
Microsoft.JSInterop.JSInProcessObjectReference