共用方式為


ActivatorUtilities.CreateInstance 需要非 Null 提供者

如果 provider 參數為 null,這兩種 ActivatorUtilities.CreateInstance 方法現在會擲回 ArgumentNullException 例外狀況。

導入的版本

.NET 8 Preview 1

先前的行為

provider 參數允許 null 值。 在某些情況下,仍會正確建立指定的類型。

新的行為

providernull 時,系統會擲回 ArgumentNullException 例外狀況。

中斷性變更的類型

此變更為行為變更

變更原因

我們已修正參數驗證以及建構函式比對問題,以符合 CreateInstance 的預期用途。 CreateInstance() 方法具有不可為 Null 的 provider 參數,因此通常預期不允許 null 提供者。

傳遞 provider 引數的非 Null IServiceProvider。 如果提供者也實作 IServiceProviderIsService,則可以透過該引數取得建構函式引數。

或者,如果您的情節不需要相依性插入,因為 IServiceProvidernull,請改用 Activator.CreateInstance

受影響的 API

另請參閱