首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您如何使用Xamarin闪亮依赖注入?

您如何使用Xamarin闪亮依赖注入?
EN

Stack Overflow用户
提问于 2022-03-08 00:38:31
回答 1查看 190关注 0票数 1

我正在编写一个跨平台的Xamarin后台应用程序,并希望使用闪亮。

我有一个服务接口和特定于平台的类的具体实现。

我确信这很简单,但我所缺少的谜团之一是如何在闪亮的DI容器中注册接口,以便使用正确的平台特定实现。

如果我这样做没有闪亮,我将在App类中拥有自己的DI容器,并从每个平台初始化该容器。使用闪亮,我似乎只有ShinyStart类,可以访问服务集合,但它不能访问具体的类。

我研究过闪亮的模块,但也无法从文档中找出它们是如何解决这个问题的。

如何从特定于平台的代码中访问闪亮的DI服务容器,以便在接口上注册正确的具体类?

问候布赖恩

EN

回答 1

Stack Overflow用户

发布于 2022-03-08 02:18:50

如果其他人对此感兴趣的话,我发现答案隐藏在闪亮的代码中。您必须定义一个MainApplication类并使用RegeisterPlatformServices。

代码语言:javascript
复制
public partial class MainApplication : global::Android.App.Application
{
    public MainApplication(IntPtr handle, JniHandleOwnership transfer) : 
    base(handle, transfer) {}

    public override void OnCreate()
    {
        this.ShinyOnCreate(new global::ElevateNfc.ShinyStartup
        {
            RegisterPlatformServices = services =>
            {
                services.AddSingleton<IManager, Manager>();
            }
        });
        global::Xamarin.Essentials.Platform.Init(this);
        base.OnCreate();
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71388762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档