天真的程序集初始化是否有良好的模式?

sgt*_*gtz 4 .net c#

假设我们有几个程序集,它们都实现了IAnimal,我们想去一个地方找出其他IAnimal实现的存在.

特征:

  • 我们不希望在集会之外进行预先知识

  • 程序集中可能有一个寄存器类/方法

  • 最好不要使用反射.到目前为止,这似乎是唯一的方法

讨论:

我想通过继承静态地做这个,但是,我不知道汇编级初始化序列.

Ode*_*ded 6

我建议看看MEF.它实际上是为这种东西而设计的.

它确实使用反射,因为这是为这种动态发现创建的机制.我怀疑你会找到一个不使用某种程度反射的解决方案.