我正在尝试创建一些代码来检测 c# 中接口的所有具体实现。但是我不相信我面临的问题仅限于 c# 并且是一个普遍的 oop 问题。
我想在运行时进行检测,所以我有能力在未来扩展接口的实现。
为了实现这一目标,我可以使用哪些选项/方法?
例如
public interface IAnimal{
void MakeNoise();
}
public class Dog : IAnimal{
public void MakeNoise()
{
Console.WriteLine("WOOF");
}
}
public class Cat : IAnimal{
public void MakeNoise()
{
Console.WriteLine("Meow");
}
}
public class AnimalInstanceController{
/*Im trying to populate this with all classes that implement IAnimal
*/
public IEnumerable<IAnimal> {get;set;}
}
谢谢
尼古拉斯