c# - 平台特定代码中的 .NET MAUI 依赖注入(inject)

标签 c# .net xamarin maui

有什么方法可以在特定于平台的代码中注入(inject)服务,例如在 MainActivity.cs 中?我认为 Xamarin 为此使用了 DependencyService。 也可以将它们注入(inject)后台 ServicesBroadcast Receivers 吗?

我目前尝试做的是更新它们,但我想知道目前是否有更好的解决方案。据我了解,特定于平台的代码中的 DI 容器与您在 MauiProgram.cs 中使用的主要容器不同,我看到了他们从头开始实现一个的示例。

最佳答案

我在 Jame Montemagno's Youtube 上找到了这个.我想这就是你要找的。视频是here .

public static class ServiceHelper {

public static T GetService<T>() => Current.GetService<T>();

public static IServiceProvider Current =>
#if WINDOWS10_0_17763_0_OR_GREATER
    MauiWinUIApplication.Current.Services;
#elif ANDROID
    MauiApplication.Current.Services;
#elif IOS || MACCATALYST
    MauiUIApplicationDelegate.Current.Services;
#else
    null;
#endif }

关于c# - 平台特定代码中的 .NET MAUI 依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72939282/

相关文章:

java - 哪个开源 java 或 .net 项目具有最佳的单元测试覆盖率?

c# - IDbConnection 和 Firebird

C# Twitter 和 Restsharp 身份验证

xamarin - 绑定(bind) iOS 框架会导致临时文件损坏

azure 通知中心注册生存时间

C# CS0019 IntPtr

c# - 如何获取 Stream 的底层文件句柄?

c# - 大文件的Base64?

c# - IsMouseOver WPF 中的不透明度

c# - 使用 cx_freeze 进行精细编译后出现 "import clr"问题