Max*_*Max 1 c# delegates winforms
我试图发送一个string从form SettingsMenu使用到我的主要形式Delegate,如下图所示的结构:
在SettingsMenu表单中委派:
delegate void ClocknameReceivedEventHandler(object sender, SettingsMenu.ClocknameReceivedEventArgs e);
Run Code Online (Sandbox Code Playgroud)
SettingsMenu类中的内部类ClocknameReceivedEventArgs:
public partial class SettingsMenu : Form
{
internal class ClocknameReceivedEventArgs : EventArgs
{
string _clockname;
public string Clockname
{
get { return _clockname; }
}
public ClocknameReceivedEventArgs(string clockname)
{
_clockname = clockname;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在代码中更多一点SettingsMenu:
public event ClocknameReceivedEventHandler ClocknameReceived;
// Invoke the Changed event; called whenever list changes
protected void OnClocknameReceived(SettingsMenu.ClocknameReceivedEventArgs e)
{
ClocknameReceived(this, e);
}
Run Code Online (Sandbox Code Playgroud)
SettingsMenu我Main form使用以下内容捕获来自我的传入数据Event:
_settings.ClocknameReceived += new ClocknameReceivedEventHandler(ClockClocknameReceived);
Run Code Online (Sandbox Code Playgroud)
我的Main表单上实际从SettingsMenu接收字符串的方法:
private void ClockClocknameReceived(object sender, SettingsMenu.ClocknameReceivedEventArgs e)
{
string ClockName;
ClockName = e.Clockname;
lblClockname.Text = ClockName;
}
Run Code Online (Sandbox Code Playgroud)
现在我在SettingsMenu类中遇到以下错误:
Error 2 Inconsistent accessibility: parameter type 'LivePigeonClient.Forms.SettingsMenu.ClocknameReceivedEventArgs' is less accessible than method 'LivePigeonClient.Forms.SettingsMenu.OnClocknameReceived(LivePigeonClient.Forms.SettingsMenu.ClocknameReceivedEventArgs)' D:\SVN\sentul\Livepigeonflights\trunk\LivePigeonClientSolution\LivePigeonClient\Forms\SettingsMenu.cs 54 24 LivePigeonClient
Run Code Online (Sandbox Code Playgroud)
和
Error 1 Inconsistent accessibility: field type 'LivePigeonClient.Forms.ClocknameReceivedEventHandler' is less accessible than field 'LivePigeonClient.Forms.SettingsMenu.ClocknameReceived' D:\SVN\sentul\Livepigeonflights\trunk\LivePigeonClientSolution\LivePigeonClient\Forms\SettingsMenu.cs 51 52 LivePigeonClient
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我做错了什么?