当前位置: 首页 > news >正文

介绍一学一做视频网站吗百度信息流推广是什么意思

介绍一学一做视频网站吗,百度信息流推广是什么意思,网站建设运营规划方案,如何让自己的网站被搜索引擎收录【C#语言入门】17. 事件详解(上) 一、初步了解事件 定义:单词Event,译为“事件” 通顺的解释就是**“能够发生的什么事情”**,例如,“苹果”不能发生,但是“公司上市”这件事能发生。在C#中事…

【C#语言入门】17. 事件详解(上)

一、初步了解事件

  • 定义:单词Event,译为“事件”
    • 通顺的解释就是**“能够发生的什么事情”**,例如,“苹果”不能发生,但是“公司上市”这件事能发生。
    • 在C#中事件是类型的成员,没有公司就没有公司上市这件事。
  • 担任角色:使对象或者类具备通知能力的成员。
    • (中译)事件(event)是一种使对象或者类能够提供通知的成员。
    • (原文)An event is a member that enables an object or class to provide notifications.
    • “对象O拥有一个事件E”想要表达的思想是:当事件E发生的时候,O有能力通知别的对象。
    • 事件的功能——通知 + 可选的事件参数(即详细信息)
  • 使用:用于对象或者类间的动作协调与信息传递(消息推送)
  • 原理:事件模型(event model)中的两个“5”
    • “发生→响应”中的五个部分:闹钟响了我起床,时间到了我下班……隐含着第五个部分“订阅”关系,某关心某的状态。
    • “发生→响应”中的五个动作:(1)我有一个事件 →(2)一个人或者一群人关心我的这个事件 →(3)我的这个事件发生了 →(4)关心这个事件的人会被依次通知到 →(5)被通知到的人根据拿到的事件信息(又称“事件数据”、“事件参数”、“通知”)对事件进行响应(又称“处理事件”)。
  • 术语定义:
    • 事件的订阅者 = 事件消息的接受者,事件的响应者,事件的处理者,被事件所通知的对象。
    • 事件参数 = 事件信息,事件消息,事件数据。
  • 提示:
    • 事件多用于桌面、手机等开发的客户端编程,因为这些程序经常是用户通过事件来驱动的。
    • 各种编程语言对这个机制的实现方法不尽相同。
    • Java语言里面没有事件这种成员,也没有委托这种数据类型。Java的"事件"是使用接口来实现的
    • MVC\MVP\MVVM等模式,是事件模式更高级、更有效的“玩法”
    • 日常开发的时候,使用已有事件的机会比较多,自己声明事件的机会比较少,所以先学会使用。

二、事件的应用

  • 实例演示

    • 派生(继承)与扩展(extends)
  • 事件模型的五个组成部分

    1. 事件的拥有者(event source,对象)
    2. 事件成员(event,成员)
    3. 事件的响应者(event subscriber,对象)
    4. 事件处理器(event hander,成员)——本质上是一个回调方法
    5. 事件订阅——把事件处理器与事件关联在一起,本质上是一种以委托类型为基础的“约定”。
  • 组合方式
    请添加图片描述
    请添加图片描述
    请添加图片描述

  • 注意

    • 事件处理器是方法成员
    • 挂接事件处理器的时候,可以使用委托实例,也可以直接使用方法名,这是个语法糖
    • 事件处理器对事件的订阅不是随意的,匹配与否由声明事件时所使用的委托类型来检测
    • 事件可以同步调用也可以异步调用
internal class Program
{static void Main(string[] args){Timer timer = new Timer();timer.Interval = 1000;//单位毫秒Boy boy = new Boy();Girl girl = new Girl();timer.Elapsed += girl.Action;timer.Elapsed += boy.Action;//订阅操作+=,Elapsed是事件成员,timer是事件拥有者,boy是事件响应者timer.Start();Console.ReadLine();}
}class Boy
{internal void Action(object sender, ElapsedEventArgs e){Console.WriteLine("Jump!");}
}class Girl
{internal void Action(object sender, ElapsedEventArgs e){Console.WriteLine("Sing!");}
}
class EventExample1
{static void Main(string[] args){Form form = new Form();//事件拥有者Controller controller = new Controller(form);//事件响应者form.ShowDialog();}}class Controller
{private Form form;public Controller(Form form){if (form != null){this.form = form;this.form.Click += this.FormClicked;//事件成员,事件订阅}}private void FormClicked(object sender, EventArgs e){this.form.Text = DateTime.Now.ToString();//事件处理器}
}
class EventExample1
{static void Main(string[] args){MyForm myForm = new MyForm();myForm.Click += myForm.FormClicked;myForm.ShowDialog();    }}class MyForm : Form
{internal void FormClicked(object sender, EventArgs e){this.Text = DateTime.Now.ToString();}
}
class EventExample1
{static void Main(string[] args){MyForm form = new MyForm();form.ShowDialog();}}class MyForm : Form
{private TextBox textBox;private Button button;//事件拥有者public MyForm()//事件响应者{this.textBox = new TextBox();this.button = new Button();this.Controls.Add(this.button);this.Controls.Add(this.textBox);this.button.Click += this.ButtonClicked;//事件成员,订阅this.button.Text = "say Hello";this.button.Top = 100;this.button.Left = 50;}private void ButtonClicked(object sender, EventArgs e){this.textBox.Text = "Hello,World!!!!!!!!!!!!!!";//事件处理器}
}
http://www.15wanjia.com/news/52201.html

相关文章:

  • 环保主题网站模板百度下载安装app
  • 射阳网站设计网络文章发布平台
  • 怎么做企业网站教程视频信息流广告投放
  • 专业二维码网站建设域名注册哪个网站好
  • 凡科建设网站如何对话框百度网盘链接
  • 莱州网站建设东方网络律师团队
  • 华为网站的建设建议北京网络排名优化
  • 哪些网站可以做详情页seo优化百度技术排名教程
  • wordpress免费企模板长沙网站seo推广公司
  • 可以做网站背景音乐的英文歌曲百度主页入口
  • 湘潭网站开发公司百度推广需要什么条件
  • 重庆网站建设公司是什么永久免费跨境浏览app
  • 秦皇岛网站推广哪家好业务多平台怎么样
  • 海南网站建设方面蜗牛精灵seo
  • 做网站页面360站长工具
  • thinkphp 网站设置功能千万别在百度上搜别人的名字
  • 免费软件园seo值怎么提高
  • wordpress门户建站成品短视频app下载有哪些软件
  • 厦门做企业网站多少钱站长之家ip查询
  • 网站做互动建网站用什么工具
  • 131美女做爰视频网站台州seo公司
  • 学校网站建设管理相关规定创建网站需要多少资金
  • 网站 建设 初期规划公众号seo排名
  • 做网站暴利seo网络推广是什么意思
  • 淮南市住房与城乡建设部网站在线一键免费生成网页网站
  • 木屋网站建设百度竞价推广技巧
  • 个人网站可以做经营性的吗广州seo实战培训
  • 网站制作的步骤不包括什么推广平台比较好
  • wdcp 默认网站站长之家官网
  • 城建公司建设网站基础资料深圳疫情防控最新消息