簡體   English   中英

我可以為.NET Core DependencyInjection提供“解析器”以返回未注冊任何服務的最小起訂量嗎?

[英]Can I provide the .NET Core DependencyInjection with a “resolver” to return a Moq of any service which isn't registered?

給定一個具有依賴性的類:

class SomeService : ISomeService { ctor(ISomeDependency someDependency ... }

使用Moq,我可以像這樣模擬依賴項:

var services = new ServiceCollection()
.AddTransient(_ => Mock.Of<ISomeDependency>())
.AddTransient<ISomeService,SomeService>()
.BuildServiceProvider();

services.GetRequiredService<ISomeService>(); 

無論如何,如果未注冊實現,我是否可以注冊ServiceProvider將使用的“提供商”? 如果未注冊依賴項T我希望ServiceProvider返回Mock.Of<T>

我想要這樣做是因為我有些類具有很多依賴關系,並且希望避免某些類型的輸入。

無論如何,如果未注冊實現,我是否可以注冊ServiceProvider將使用的“提供商”?

使用Microsoft.Extensions.DependencyInjection(MS.DI),無法實現此目的。 您正在尋找的是未注冊的類型解析 大多數成熟的DI容器實際上都包含鈎子,當請求未注冊的類型時,這些鈎子可以攔截來自庫的調用。 但是,MS.DI沒有這種功能。 必須明確進行所有注冊,並且無法解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM