首页 新闻 搜索 专区 学院

asp.net core 的注入问题

2
悬赏园豆:100 [待解决问题]

请问,如果我有这样一个类:

public interface IA
{
}

public abstract class B
{
}

public class C<IT>  :B,IA where IT : T
{
}

现在我要在ConfigureServices里注入C这个类,应该怎么注入?

是这样吗?

service.AddScope(typeof(IA),typeof(C<>));
luckylulu2018的主页 luckylulu2018 | 初学一级 | 园豆:102
提问于:2018-11-19 11:19
< >
分享
所有回答(4)
0

service.AddScope(typeof(C<>));

czd890 | 园豆:8893 (大侠五级) | 2018-11-19 12:54

class IAImpl:IA{};

var instance=sp.getservice<C<IAImpl>>()

支持(0) 反对(0) czd890 | 园豆:8893 (大侠五级) | 2018-11-19 12:55
0

嗯.泛型要指定后才是一个类

吴瑞祥 | 园豆:28820 (高人七级) | 2018-11-19 14:16

可是按照我那样写会出错。

支持(0) 反对(0) luckylulu2018 | 园豆:102 (初学一级) | 2018-11-19 16:46

@luckylulu2018: 泛型要指定后才是一个类.你放个泛型模版进去.让他怎么去实例化..编译器又不算算命的.

支持(0) 反对(0) 吴瑞祥 | 园豆:28820 (高人七级) | 2018-11-19 17:06
0

对应你提问中假设的定义,可以这样注册

services.AddScoped(typeof(IA), typeof(C<D>));
services.AddScoped(typeof(B), typeof(C<D>));
services.AddScoped(typeof(C<>));
dudu | 园豆:39034 (高人七级) | 2018-11-19 18:48
0
Giant Liu | 园豆:888 (小虾三级) | 2018-11-21 15:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册