[英]Xamarin Android and Dependecy Injection
我用Xamarin開發了一個Android應用程序。 假設我有一個Activity,它取決於某些接口:
interface IFoo
{
// methods
}
public class Foo : IFoo
{
private readonly IBar _bar;
public Foo(IBar bar)
{
_bar = bar;
}
// methods implementation
}
// dependency injection somewhere in Application class
var container = new UnityContainer();
container.RegisterType<IFoo, Foo>();
public class MyActivity : Activity
{
// it's incorrect constructor and this code will not be compiled
public MyActivity(IFoo foo)
{
_foo = foo;
}
private readonly IFoo _foo;
}
我想在MyActivity的構造函數中注入IFoo實例,但是如您所知,不可能用參數創建構造函數。 我如何將具有所有依賴項的IFoo初始化實例傳遞給MyActivity? 我使用Unity作為依賴注入框架(但可以更改)。
在您的應用類中定義:
public static UnityContainer container { get; private set; }
var container = new UnityContainer();
注冊界面
container.RegisterType<IFoo, Foo>();
並解決如下
var myFoo = container.Resolve<IFoo>()
注意:不要忘記using Microsoft.Practices.Unity;
添加名稱空間using Microsoft.Practices.Unity;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.