我正在尝试为我正在制作的类创建一个设置,因此在创建它时可以为其设置一个管理器类,并且可能需要通过接口调用该类中的函数
这些调用并不总是需要的,并且管理器可能并不总是调用这个类的类,因此简单的返回值并从管理器类中使用它是不符合要求的。
我想做的是遵循代码。(试图尽可能多地去除不必要的东西)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    interface Itester
    {
        void LoadTest();
    }
    public partial class Form1 : Form, Itester
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
        private void button2_Click(object sender, EventArgs e)
        {
            World testWorld = new World();
        testWorld.SetManager(this);
            testWorld.InitializeWorld();
        }
        void Itester.LoadTest()
        {
            //random action I want run
            label1.Text = "Ran LoadTest()";
        }
    }
    public class World
    {
        Itester worldManager;
        public World()
        {
            InitializeWorld();
        }
        private void InitializeWorld()
        {
            worldManager.LoadTest();
        }
        public void SetManager(Itester test)
        {
            worldManager = test;
        }
    }
}
我基于它得到这个错误。该错误指的是“世界级的公共空白”
错误 1 可访问性不一致:参数类型“WindowsFormsApplication1.Itester”的可访问性低于方法“WindowsFormsApplication1.World.SetManager(WindowsFormsApplication1.Itester)”XYZ 位置 Form1.cs 316 21 Feudal World
我所期望的就是这样。
Form1 类创建 World Class 的本地实例,然后运行它的构造函数(什么都不做),然后将自己设置为它的 Manager(理论上可能是另一个实现 Itester 接口的类),最后它再次调用 World Class 并询问它初始化世界,我希望世界类调用 Form1 实例并让它更新按钮上的标签。
lvl1:Form1 -> lvl2:World -> lvl3:Form1(或其他经理) -> 将 void 返回到 lvl2:World -> 将 void 返回到 lvl1:Form1
我错过了什么,为什么这不起作用?