【发布时间】:2018-07-03 19:08:38
【问题描述】:
我在主窗体上实现接口时遇到问题。这个想法是有一个接口,一个将消息发送到接口的控制器类和实现接口的主窗体。这将被另一个类的对象用来“告诉”主窗体更新某些内容。我遇到的问题是我无法弄清楚如何将我的主表单分配给控制器类中接口类型的实例变量。如果我没有 100% 清楚地说明这一点,我深表歉意。以下类的示例:
主窗体
using System;
using System.Windows.Forms;
namespace InterfaceProject
{
public partial class Form1 : Form, IMessage
{
public Form1()
{
InitializeComponent();
}
MessageController ctrl = new MessageController();
private void Form1_Load(object sender, EventArgs e)
{
ctrl.Greeting();
}
public void Hello()
{
//Do some stuff to the form
MessageBox.Show("Hello World");
}
}
}
控制器类
namespace InterfaceProject
{
class MessageController
{
//Instance Variables
private IMessage messageClient;
//Constructor
public MessageController()
{
messageClient = Form1;
}
public void Greeting()
{
messageClient.Hello();
}
}
}
界面
namespace InterfaceProject
{
interface IMessage
{
void Hello();
}
}
【问题讨论】:
标签: c# visual-studio oop interface