问题标签 [tinyioc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
619 浏览

c# - Xamarin Android TinyIoC.TinyIoCResolutionException 将 API 目标更新为 API 28 后无法解析类型

我希望能够使用我的 IoC 容器注入依赖项而不会遇到TinyIoC.TinyIoCResolutionException异常。

我的 Xamarin Android 应用程序正在使用 TinyIoC 注入依赖项。在应用程序启动时(在其他任何事情发生之前),所有依赖项都注册container为:

然后我在活动方法中注册后解决依赖关系onCreate(),如下所示:

现在一些依赖关系得到了很好的解决,但是其他的则抛出:

我最近将我的更新Target API到 28,之前是 21。我不确定这是否是一个因素。

0 投票
1 回答
67 浏览

c# - Register 中的一种类型参数有什么意义而不是两个参数类型注册?

在依赖注入中,我理解为什么我们需要带有 2 个类型参数的 Register()。

从现在开始,类型为I1的参数,在ctors中,会得到A的实例。太好了。我们不需要处理创建,依赖注入容器会给我们带来我们需要的东西(不管是不是 Singleton)。

现在,我不明白的是

我们没有将任何接口映射到这个具体类型B。

它有什么用?

0 投票
1 回答
239 浏览

visual-studio - 使用 nuget 添加时,为什么在我的 Xamarin.Android 项目中没有拾取 TinyIoC?

所以我TinyIoC v1.3.0在我的 Xamarin.Android 项目中使用 nuget 安装,它在引用中,但我无法在using TinyIoC;没有编译错误的情况下键入。我想了解这是为什么?

PS。我知道我可以TinyIoC.cs直接使用该文件,但我认为如果我使用nuget添加会更方便更新。

在此处输入图像描述

我收到此错误:

在此处输入图像描述

0 投票
1 回答
931 浏览

c# - 在 .NET Core 中按键解析动态注册的服务

我正在将工具迁移到 .net 5 控制台应用程序。我想更改我的 DI 系统,目前是 TinyIoC 的修改版本,尽可能使用内置 DI。目前,我的工具将加载并自动注册它在其配置文件中找到的任何 dll。先入胜出,因此我的一个接口的用户提供的实现将优先于我的默认接口,最后加载。

此外,我需要能够注册给定接口的多个变体,并让我的 DI 系统根据配置在它们之间进行选择。目前,这适用于我添加到 Tiny 的 RegistrationName 属性。当 tiny 自动注册 dll 中的所有内容时,它会将这个名称包含在它的注册中。

因此,例如,我有一个IProvider 接口,其方法包括IDbConnection GetConnection(string connectionString);. 我有几个 SQL Server、Postgres 等的默认实现,用户可以在 dll 中提供我在编译我的工具时不知道的其他实现。

这是我声明我的 SQL Server 提供程序的方式...

这是我在 qfconfig.json 中指定提供程序的方式...

以下是我向 Tiny 询问具体实例的方式……

所以我想保留这种可能性,但要找到一种不那么个人化的方式。

我担心我在这个问题上误入了森林。我发现的文档和教程都涵盖了更简单的场景,其中有一个接口的注册实现,并且所有内容都在代码中显式注册。有人可以指点我回到路上吗?