我在Xamarin Android应用中使用Autofac,该容器返回空对象引用,因为在运行代码块之前,没有为该容器分配任何内容。但是,我不确定如何使代码块实际运行。这可能是一个简单的问题,但只是为了案例,这里是容器的使用:
public void AddToCartnBtn_Click(object sender, EventArgs e)
{
using (var scope = App.Container.BeginLifetimeScope())
{
var basket = scope.Resolve<IBasket>();
basket.AddToBasket(clickedItem);
scope.Dispose();
}
}
这是我的容器/ autofac设置:
public class App
{
public static IContainer Container { get; set; }
public App()
{
var builder = new ContainerBuilder();
builder.RegisterType<ProductList>().As<IProductList>();
builder.RegisterInstance(new Basket()).As<IBasket>();
Container = builder.Build();
}
}