C# 自动扫描工厂

C# 自动扫描工厂,c#,reflection,design-patterns,factory,C#,Reflection,Design Patterns,Factory,我有解决下一个问题的模式或内部解决方案: 我有接口imyinterface或一些基类和属性myAttribute。 我需要一个工厂类,它为我提供了使用空构造函数搜索所有类型、继承ImyInterface并用属性myAttribute标记的功能 我想在不同的模式下搜索: 1当前程序集中的搜索类型 所有解决方案程序集中的2种搜索类型 目标库.lib或.dll中的3种搜索类型 结果,我想看到这样的东西: 有些人寻求类型实现: [myAttribute(uniqueTypeNameOrSomething

我有解决下一个问题的模式或内部解决方案:

我有接口imyinterface或一些基类和属性myAttribute。 我需要一个工厂类,它为我提供了使用空构造函数搜索所有类型、继承ImyInterface并用属性myAttribute标记的功能

我想在不同的模式下搜索: 1当前程序集中的搜索类型 所有解决方案程序集中的2种搜索类型 目标库.lib或.dll中的3种搜索类型

结果,我想看到这样的东西:

有些人寻求类型实现:

[myAttribute(uniqueTypeNameOrSomethingLikeThat = "SuperClass")]
public class mySomeResource:ImyInterface
{
   mySomeResource(){...}
}
工厂使用:

  myResourceFactory  factory = new myResourceFactory(typeof(ImyInterface), typeof(myAttribute));

  factory.ScanThisAssembly();
  factory.ScanDirrectory("C:\\libraries");

  var atlast = (ImyInterface)factory.Create("SuperClass");
我已经写了我自己的解决方案,但我害怕重新发明轮子

对这个问题有什么想法/经验吗?

这就是所谓的模式。大约有一百万个容器解决了这个问题,每个容器都有自己的积极和消极的怪癖。选择一个你最喜欢的,或者如果没有一个适合你的需要,就自己滚。

这种模式被称为。大约有一百万个容器解决了这个问题,每个容器都有自己的积极和消极的怪癖。挑一个你最喜欢的,如果没有一个适合你的需要,就自己滚