簡體   English   中英

Xamarin Android和Dependecy注入

[英]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.

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