C# 查询接口的所有实例的统一性
我需要在我的项目中找出所有实现接口IMyInterface的类,这些类都是在Unity容器中注册的C# 查询接口的所有实例的统一性,c#,asp.net,.net,inversion-of-control,unity-container,C#,Asp.net,.net,Inversion Of Control,Unity Container,我需要在我的项目中找出所有实现接口IMyInterface的类,这些类都是在Unity容器中注册的 有谁知道这样做的方法,而不让unity创建向unity注册的对象的实例?您可以首先查询所有非抽象类型并实现您的接口: this.GetType().Assembly.GetTypes().Where(type => type.IsClass && !type.IsAbstract &a
有谁知道这样做的方法,而不让unity创建向unity注册的对象的实例?您可以首先查询所有非抽象类型并实现您的接口:
this.GetType().Assembly.GetTypes().Where(type => type.IsClass &&
!type.IsAbstract &&
type.IsAssignableFrom(IMyInterface));
然后,对于这些类型中的每一种,查询Unity容器,查看它是否包含它的实例。您可以使用类似这样的查询来查询容器实例中的注册
var x = container.Registrations.Where(cm => cm.RegisteredType == typeof(IMyInterface));
@用户457485如果我的答案解决了你的问题,如果你能把它标记为答案就好了。