100分求教,事件是否一定得由方法引发?刚才发的那个分数太少了。呵呵...

robter5611 robter5611 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
.Net Framework文档上说的是:

事件功能是由三个互相联系的元素提供的:提供事件数据的类、事件委托和引发事件的类。.NET Framework 具有命名与事件相关的类和方法的约定。如果想要您的类引发一个名为 EventName 的事件,您需要以下元素。

持有事件数据的类,名为 EventNameEventArgs。该类必须从 System.EventArgs 导出。
事件的委托,名为 EventNameEventHandler。
引发事件的类。该类必须提供:
事件声明。
[C#]
public event EventNameEventHandler EventName;

[Visual Basic]
Public Event EventName As EventNameEventHandler

引发事件的方法,名为 OnEventName。

于是按照这个步骤我写了个事件。为简单点,没有事件数据。源代码如下:

using System;

namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
///
public delegate void MyEventEventHandler(object source);
public class MyEventClass
{
public event MyEventEventHandler MyEvent;
public void OnMyEvent()
{
if(MyEvent != null)
MyEvent(this);
}
}
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
MyEventClass c = new MyEventClass();
c.MyEvent +=new MyEventEventHandler(c_MyEvent);
c.OnMyEvent();
}

private static void c_MyEvent(object source)
{
Console.WriteLine("成功引发事件!");
}
}
}

运行没问题。
成功引发了事件。
但有一个问题不明白,就是

    事件是否一定得由方法引发?

如果将程序中 c.OnMyEvent(); 这一行去掉则不能引发事件。

但我看WINDOWS应用程序中,添加一个 Button,双击之,自动添加了一个Click事件,且未用任何方法来引发。运行也没问题。

所以请教各位老大。
...全文

相关推荐

输入0—100的百分制分数时,程序会显示相对应的五分制分数。

这个场景中提到的知识点是“分数转换”,具体来说,是从0到100的百分制分数转换为5分制分数。这样的转换在教育评分系统、数据分析或者用户界面设计中都有广泛应用。

lollypop_y

XTTS基于rman全量迁移Oracle

XTTS基于rman全量迁移Oracle

IT邦德

内存自BUFF单元开始的存储区连续存放100个学生的某课成绩分数,编制程序统计100,90—99,80—89,70—79,60—69和59分以下等分数段的人数,并把结果连续存放在RESULT开始的单元。

这是一份汇编语言实验报告,主要内容是使用循环结构编程统计100个学生的某课成绩分数,分为100分、90-99分、80-89分、70-79分、60-69分和59分以下六个分数段,并将结果连续存放在RESULT

rainstar880729

Python 输入一个数字判断成绩分数等级的方法

通常,我们可以按照以下标准将成绩分为五个等级:- A等级:90-100分- B等级:80-90分- C等级:70-80分- D等级:60-70分- E或F等级:60分以下在Python中,我们可以利用条件语句

weixin_38653040

cs代码-一个游戏,前20关是每一关自身的分数,1-30关每一关是10分,31-40关,每一关是20分,1-49关,每一关是30分,第50关是100分,输入你现在闯到的关卡数,求你现在拥有的分数。

从第21关到第30关,每过一关得分为10分。3. 从第31关到第40关,每过一关得分为20分。4. 从第41关到第49关,每过一关得分为30分。5. 第50关,玩家获得100分。

weixin_38636461
评论 17
收藏 已收藏
分享
返回顶部
robter5611
C# 111,129 成员 642,538 内容