来自配置

时间:2017-08-31 10:47:52

标签: c# reflection casting configuration

也许标题没有正确描述我想要实现的目标,所以这是一个例子:

我有一个代码,我称之为:

object.AddProvider<definition, implementation>()

方法描述是:

public void AddProvider<TDefinition, TImplementation>()
            where TDefinition: class
            where TImplementation : class, TDefinition, IDataProvider

我有配置,我定义'定义'(接口)和'实现'

  

“Interface”:“MyAssembly.Abstractions.IMongoDataProvider,   MyAssembly.Abstractions“”实施“:   “MyAssembly.DataProviders.MongoDataProvider,MyAssembly.DataProviders”

然后我调用它来从配置中获取类型:

var definition = System.Type.GetType(@"{Interface}", true, true);
var implementation = System.Type.GetType(@"{Implementation}", true, true);

但我无法做到这一点

object.AddProvider<definition, implementation>()

我不知道如何满足方法的标准(在最后两个示例代码之间做什么)。请有人帮帮我吗?

0 个答案:

没有答案