我已经广泛搜索了一个简单的例子,说明如何配置一个 DryIoc 容器来简单地将依赖项作为属性注入,就像注入构造函数 args 一样。
鉴于以下工作示例...
容器注册:
public static void Register(HttpConfiguration config)
{
var c = new Container().WithWebApi(config);
c.Register<IWidgetService, WidgetService>(Reuse.Singleton);
c.Register<IWidgetRepository, WidgetRepository>(Reuse.Singleton);
}
Run Code Online (Sandbox Code Playgroud)
小工具服务:
public class WidgetService : IWidgetService
{
private readonly IWidgetRepository _widgetRepository;
public WidgetService(IWidgetRepository widgetRepository)
{
_widgetRepository = widgetRepository;
}
public IList<Widget> GetWidgets()
{
return _widgetRepository.GetWidgets().ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
小部件存储库:
public class WidgetRepository : IWidgetRepository
{
private readonly IList<Widget> _widgets;
public WidgetRepository()
{
_widgets = new List<Widget>
{
new Widget {Name = "Widget 1", Cost = new decimal(1.99), Description …Run Code Online (Sandbox Code Playgroud)