我有一个将采用泛型类型的接口T
internal interface IQuestion<T> where T : IWithOptionsId
{
Task<T> Provide(Guid id);
}
接下来我将在多个类中实现这个接口。例如
public class SomeProvider : IQuestion<OptionsClass>
{
private readonly IRepository _repository;
public SomeProvider(IRepository repository)
{
_repository = repository;
}
public async Task<OptionsClass> Provide(Guid id)
...
}
要使用 outofac 注册它,我使用了这个
Autofac.RegisterAssemblyTypes(
Assembly.GetExecutingAssembly())
.AsImplementedInterfaces()
.AsClosedTypesOf(typeof(IQuestion<>));
我的问题是这个。我有这个接口的多个实例。如何在运行时访问不同的实例?如果我IQuestion<T>
会Options
上课并且也会Answer
上课,我如何在运行时获取这些类的实例?