首页 新闻 会员 周边 捐助

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 | 园豆:14488 (专家六级) | 2018-11-19 12:54

class IAImpl:IA{};

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

支持(0) 反对(0) czd890 | 园豆:14488 (专家六级) | 2018-11-19 12:55
0

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

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

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

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

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

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 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 | 园豆:30585 (高人七级) | 2018-11-19 18:48
0
Giant150 | 园豆:1172 (小虾三级) | 2018-11-21 15:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册