我有一个从存储库中获取的Wallet类.我正在尝试在Autofac中正确注册,因此使用钱包的类可以注入适当的实例.问题是存储库使用异步方法(返回Task).Autofac是否支持此类案例?
这不起作用:
cb.RegisterType<WalletRepository>()
.As<IWalletRepository>()
.SingleInstance();
cb.Register(async c => await c.Resolve<IWalletRepository>().CreateAsync(App.WalletPath));
cb.RegisterType<ViewModel>()
.AsSelf().
.SingleInstance();
Run Code Online (Sandbox Code Playgroud)
在应用程序的某个地方我只有:
class ViewModel
{
public ViewModel(Wallet wallet)
{
//nothing fancy here
}
}
Run Code Online (Sandbox Code Playgroud)
在致电时container.Resolve<ViewModel>()我得到一个例外,说钱包没有注册.