C# 与另一个接口组合的opengeneric

C# 与另一个接口组合的opengeneric,c#,autofac,C#,Autofac,我正在使用autofac作为容器,希望注册一个开放的泛型和另一个接口,但无法让它工作 公共类OpenWindowHandler:IHandle、IStartable、IDisposable,其中TViewModel:Screen 我使用以下方式注册: var genericOpenWindowType=typeof(IHandle)。MakeGenericType(typeof(OpenWindow)); builder.RegisterGeneric(typeof(OpenWindowHan

我正在使用autofac作为容器,希望注册一个开放的泛型和另一个接口,但无法让它工作

公共类OpenWindowHandler:IHandle、IStartable、IDisposable,其中TViewModel:Screen
我使用以下方式注册:

var genericOpenWindowType=typeof(IHandle)。MakeGenericType(typeof(OpenWindow));
builder.RegisterGeneric(typeof(OpenWindowHandler))
.As(genericOpenWindowType)
.As()
.SingleInstance();
我得到的错误是

'服务'Autofac.IStartable'不是开放的泛型类型定义。'

这是正确的,因为它不是一个开放的泛型。那么,如何注册所有的
OpenWindowHandler
变体,以便为所有变体调用
IStartable


IStartable接口是必需的,这样他们就可以注册自己来接收消息。

这样考虑:如果有人请求一个
IStartable
实例,他们应该得到什么具体类型?Autofac应该返回无限多个可能的
OpenWindowHandler
单例中的哪一个?这是真的,因为它是一个开放泛型,实际类型未知。嗯,我想我必须用另一种方法来解决它。谢谢。我对Autofac不太了解,但很天真的是像
builder.Register(c=>c.Resolve()).As()