namespace Heool2 { public delegate void DivBySevenHandler(object o , DivBySevenEventArgs e); public class DivBySeventEventArgs : EventArgs { public readonly int TheNumber; public DivBySeventEventArgs(int num) { TheNumber = num; } } public class DivBySeventListener { public void ShowOnScreen(object o, DivBySeventEventArgs e) { Console.WriteLine("遇到了可以被7整除的数,他是:{0}", e.TheNumber); } } public class s1 { public static event DivBySevenHandler EventSeven; public static void Main(string[] args) { DivBySeventListener dbsl = new DivBySeventListener(); EventSeven += new DivBySevenHandler(dbsl.ShowOnScreen); GenNumber(); Console.ReadLine(); } public static void OnEventSevent(DivBySeventEventArgs e) { if (EventSeven != null) EventSeven(new object(), e); } public static void GenNumber() { for (int i = 0; i < 99; i++) { if (i % 7 == 0) { DivBySeventEventArgs e1 = new DivBySeventEventArgs(i); OnEventSevent(e1); } } } } }
public delegate void DivBySevenHandler(object o , DivBySevenEventArgs e);这里写错了
应该是:
public delegate void DivBySevenHandler(object o, DivBySeventEventArgs e);这样就可以了。
这有区别吗?我试了,还是没有用啊
@等待谱写:
遇到了可以被7整除的数,他是:0
遇到了可以被7整除的数,他是:7
遇到了可以被7整除的数,他是:14
遇到了可以被7整除的数,他是:21
遇到了可以被7整除的数,他是:28
遇到了可以被7整除的数,他是:35
遇到了可以被7整除的数,他是:42
遇到了可以被7整除的数,他是:49
遇到了可以被7整除的数,他是:56
遇到了可以被7整除的数,他是:63
遇到了可以被7整除的数,他是:70
遇到了可以被7整除的数,他是:77
遇到了可以被7整除的数,他是:84
遇到了可以被7整除的数,他是:91
遇到了可以被7整除的数,他是:98
不是区别的问题,是参数类型直接写错了,我怎么输出正常了,呵呵
using System; namespace Heool2 { public delegate void DivBySevenHandler(object o,DivBySeventEventArgs e);//DivBySeventEventArgs public class DivBySeventEventArgs : EventArgs { public readonly int TheNumber; public DivBySeventEventArgs(int num) { TheNumber = num; } } public class DivBySeventListener { public void ShowOnScreen(object o, DivBySeventEventArgs e) { Console.WriteLine("遇到了可以被7整除的数,他是:{0}", e.TheNumber); } } public class s1 { public static event DivBySevenHandler EventSeven; public static void Main(string[] args) { DivBySeventListener dbsl = new DivBySeventListener(); EventSeven += new DivBySevenHandler(dbsl.ShowOnScreen); GenNumber(); Console.ReadLine(); } public static void OnEventSevent(DivBySeventEventArgs e) { if (EventSeven != null) EventSeven(new object(), e); } public static void GenNumber() { for (int i = 0; i < 99; i++) { if (i % 7 == 0) { DivBySeventEventArgs e1 = new DivBySeventEventArgs(i); OnEventSevent(e1); } } } } }
@谢舸哥: 谢谢啊
HelloWorld2.DivBySevenEventArgs的访问级别的问题,这个你是怎么写的?
你看看你的helloword2中的這個參數類型與heool2中。可以訪問的範圍不一致。
DivBySevenEventArgs 不是 public 的
注意你的代码, DivBySevenEventArgs 和 public class DivBySeventEventArgs ,是不是你写错了。
没有关系啊,没有写错,还是没有解决问题啊