【发布时间】:2019-03-20 05:28:28
【问题描述】:
我有以下模板类和接口
public class UseCaseResponse<T> where T : class
{
//......
}
public interface IPresenter<T> where T : UseCaseResponse<T>, new()
{
void Handle(T response);
}
public class JsonPresenter<T> : IPresenter<T> where T : UseCaseResponse<T>, new()
{
public void Handle(T response)
{
throw new NotImplementedException();
}
}
现在我的问题是如何创建不同 JSonPresenter 的对象 就像我能做到的一样,
ServiceCollection s = new ServiceCollection();
s.AddScoped<UseCaseResponse<Person>, UseCaseResponse<Person>>();
var provider = s.BuildServiceProvider();
var p = (UseCaseResponse<Person>)p.GetService(typeof(UseCaseResponse<Person>));
这可行,但我如何获得JsonPresenter<UseCaseResponse<Person>> 对象?
【问题讨论】:
-
ServiceCollection代码是什么?你能提供一个minimal reproducible example吗? -
它是 aspnet 核心默认的 DI 容器。