c# - 如何初始化加载程序列表

标签 c#

   List<dontknow> Bootstrap = new List<dontknow>()  {
        new Helper();
        new Spells();
        new Logic();
        new HPSystem();
        new Troll();
        new MoveSystem(); };
        Bootstrap.Init();

我可以在不知道的部分写什么?我初始化的都是类,它们都有 void Init() 我尝试做一个 CustomList 类和 List ,但没有成功。谢谢。如果您有其他方法,可以与我分享。对不起,我还是个新手。

最佳答案

所有的类都必须继承自相同的基类或接口(interface)

public interface IMyThing
{
    void Init();
}

public class Helper : IMyThing{ // implementation }
public class Spells : IMyThing{ // implementation }
//etc.

也可以是基类,例如 MyThingBase

然后使用列表的接口(interface)/基类

List<IMyThing> Bootstrap = new List<IMyThing>()  {
        new Helper();
        new Spells();
        new Logic();
        new HPSystem();
        new Troll();
        new MoveSystem(); };

然后您需要枚举列表以调用 Init

BootStrap.ForEach(x => x.Init());

关于c# - 如何初始化加载程序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40317371/

相关文章:

c# - 客户端上的抽象类从 swagger 规范 API net core 生成代码

c# - .NET 框架 4.0 : Chaining tasks in a loop

C# Caliburn.Micro 多选

c# - .Net 事件 - 除 onClick 之外的事件中使用 (object sender, EventArgs e) 参数有何用途

c# - 如何将多个项目复制到单个 Docker 容器中

c# - 我以前从未见过的新 MEF 错误 -- "The export is not assignable to type..."

C#如何从sql server日期列中获取日期并显示在文本框中

c# - 完成后关闭的新弹出窗口?

c# - 有没有办法在 C# 中 try catch 静态属性?

c# - 更改在 UI 设计器中创建的控件的默认访问修饰符