首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOC容器运行时解析

IOC容器运行时解析
EN

Stack Overflow用户
提问于 2010-09-15 21:40:12
回答 3查看 1.2K关注 0票数 1

我正在尝试寻找一个IOC容器,它允许我将字段的映射数据存储在数据库中,并通过从数据库中提取字符串值来解析需要解析的接口或对象。

我见过的大多数例子都是用代码硬编码的接口,我希望需要解析的接口是动态的。

这是我通常看到的:

代码语言:javascript
复制
var taskController = container.Resolve<ITaskController>();

这是我希望看到的:

代码语言:javascript
复制
var strTaskController = "ITaskController";
var taskController = container.Resolve(strTaskController);

我确信我可以浏览所有IOC容器的文档,但我希望对于具有更多IOC经验的人来说,这是一个简单的问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-15 21:44:28

使用Unity,你可以做你想做的事情。基本上,如果您知道完整的类型名称,您可以首先这样做:

代码语言:javascript
复制
var type = Type.GetType("Fully.Qualified.Type.Name");
var resolvedInstance = container.Resolve(type);

编辑:基于评论的,这是另一种方法:

代码语言:javascript
复制
string typeName = "MyTypeName";
var type = container.Registrations.FirstOrDefault(r => r.RegisteredType.Name == typeName);
if(type != null)
{
    var resolvedInstance = container.Resolve(type.RegisteredType);
}
票数 2
EN

Stack Overflow用户

发布于 2011-05-12 21:33:22

我想这就是我想要的答案。托管扩展框架http://msdn.microsoft.com/en-us/library/dd460648.aspx

当你找到一个新的框架来找到你的问题的确切解决方案时,你会爱上它。

票数 0
EN

Stack Overflow用户

发布于 2010-09-15 21:46:13

您可以使用Castle project中的IOC容器。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3718175

复制
相关文章

相似问题

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