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

做网站备案是承诺书是啥百度官方网

做网站备案是承诺书是啥,百度官方网,asp动态网站设计,做电子书屋的网站C# 委托和事件 委托匿名方法事件 委托 当要把方法传送给其他方法时,需要使用委托。首先定义要使用的委托,对于委托,定义它就是告诉编译器这种类型的委托代表了哪种类型的方法,然后创建该委托的一个或多个实例。编译器在后台将创建…

C# 委托和事件

  • 委托
  • 匿名方法
  • 事件

委托

当要把方法传送给其他方法时,需要使用委托。首先定义要使用的委托,对于委托,定义它就是告诉编译器这种类型的委托代表了哪种类型的方法,然后创建该委托的一个或多个实例。编译器在后台将创建表示该委托的一个类。其语法类似于方法的定义,但没有方法体,定义的前面要加上关键字 delegate。因为定义委托基本上是定义一个新类,所以可以在定义类的任何地方定义委托,既可以在另一个类的内部定义,也可以在任何类的外部定义,还可以在命名空间中把委托定义为顶层对象。

  • 定义委托的语法如下
    delegate void IntMMethodInvoker(int x);

  • 假定要定义一个委托 TwoLongsOp,该委托代表的方法有两个 long 型参数,返回类型为 double。可以编写如下代码:
    delegate double TwoLongsOp(long first, long second);

  • 定义一个委托,它代表的方法不带参数,返回一个 string 型的值,则可以编写如下代码:
    delegate string GetAString();

  • 根据定义的可见性,可以在委托定义上添加一般的访问修饰符:public、private、protected 等:
    public delegate string GetAString();

  • 简单的委托示例

class MathsOperations
{public static double MultiplyByTwo(double value){return value * 2;}public static double Square(double value){return value*value;}
}

下面调用这些方法:

using System;
namespace Wrox.ProCSharp.Delegates
{delegate double DoubleOp(double x);class Program{static void Main(){DoubleOp[] operations = {MathsOperations.MultiplyByTwo,MathsOperations.Square,};for (int i=0; i<operations.Length; i++){Console.WriteLine("Using operations[{0}]:", i);ProcessAndDisplayNumber(operations[i], 2.0);ProcessAndDisplayNumber(operations[i], 7.94);ProcessAndDisplayNumber(operations[i], 1.414);Console.WriteLine();}}static void ProcessAndDisplayNumber(DoubleOp action, double value){double result = action(value);Console.WriteLine("Value is {0}, result of operation is {1}", value, result);}}
}
  • 多播委托
delegate void DoubleOp(double value); // 定义委托
DoubleOp opt1 = MathOperations.MultiplyByTwo;	// 委托1
DoubleOp opt2 = MathOperations.Square;	// 委托2
DoubleOp operations = operation1 + operation2;	// 委托增加operations(2.0); // 委托1,委托2的方法都会调用

多播委托还识别运算符-和-=,以从委托中删除方法调用。

匿名方法

用匿名方法定义委托的语法与前面的定义并没有区别。但在实例化委托时,就有区别了。下面是
一个非常简单的控制台应用程序,说明了如何使用匿名方法:

using System;
namespace Wrox.ProCSharp.Delegates
{class Program{delegate string DelegateTest(string val);static void Main(){string mid = ", middle part,";DelegateTest anonDel = delegate(string param) // 匿名方法{param += mid;param += " and this was added to the string.";return param;};Console.WriteLine(anonDel("Start of string"));}}
}

事件

基于 Windows 的应用程序也是基于消息的。这说明,应用程序是通过 Windows 来通信的,Windows又是使用预定义的消息与应用程序通信的。这些消息是包含各种信息的结构,应用程序和 Windows使用这些信息决定下一步的操作。在 MFC 等库或 Visual Basic 等开发环境推出之前,开发人员必须处理 Windows 发送给应用程序的消息。Visual Basic 和今天的.NET 把这些传送来的消息封装在事件中。如果需要响应某个消息,就应处理对应的事件。一个常见的例子是用户单击了窗体中的按钮后,Windows 就会给按钮消息处理程序(有时称为 Windows 过程或 WndProc)发送一个 WM_MOUSECLICK消息。对于.NET 开发人员来说,这就是按钮的 Click 事件。


文章转载自:
http://chorizo.kjawz.cn
http://acheron.kjawz.cn
http://chewink.kjawz.cn
http://branch.kjawz.cn
http://cambrian.kjawz.cn
http://banc.kjawz.cn
http://bibliology.kjawz.cn
http://cembalo.kjawz.cn
http://butyraldehyde.kjawz.cn
http://belecture.kjawz.cn
http://arapunga.kjawz.cn
http://bdellium.kjawz.cn
http://chevrolet.kjawz.cn
http://barbet.kjawz.cn
http://cablecasting.kjawz.cn
http://battleground.kjawz.cn
http://aforetime.kjawz.cn
http://cellular.kjawz.cn
http://balderdash.kjawz.cn
http://caducei.kjawz.cn
http://asthma.kjawz.cn
http://bonaci.kjawz.cn
http://centner.kjawz.cn
http://cankery.kjawz.cn
http://ayrshire.kjawz.cn
http://caravan.kjawz.cn
http://ascu.kjawz.cn
http://calinago.kjawz.cn
http://apyrexia.kjawz.cn
http://biostrategy.kjawz.cn
http://africanism.kjawz.cn
http://anthropophagy.kjawz.cn
http://biblioclast.kjawz.cn
http://afrit.kjawz.cn
http://actiniae.kjawz.cn
http://chronometer.kjawz.cn
http://blackhead.kjawz.cn
http://audition.kjawz.cn
http://admirably.kjawz.cn
http://archaeomagnetism.kjawz.cn
http://cembalo.kjawz.cn
http://baee.kjawz.cn
http://autotoxicosis.kjawz.cn
http://capoid.kjawz.cn
http://caucasia.kjawz.cn
http://benthoscope.kjawz.cn
http://agitato.kjawz.cn
http://bakehouse.kjawz.cn
http://backside.kjawz.cn
http://bowl.kjawz.cn
http://adventure.kjawz.cn
http://boil.kjawz.cn
http://carrion.kjawz.cn
http://bucentaur.kjawz.cn
http://beatitude.kjawz.cn
http://aloha.kjawz.cn
http://bandung.kjawz.cn
http://arkansan.kjawz.cn
http://appentice.kjawz.cn
http://aerometer.kjawz.cn
http://backstairs.kjawz.cn
http://abstractionism.kjawz.cn
http://backcross.kjawz.cn
http://cercopithecoid.kjawz.cn
http://bankable.kjawz.cn
http://ahorse.kjawz.cn
http://bespeak.kjawz.cn
http://boring.kjawz.cn
http://agressire.kjawz.cn
http://actinomycin.kjawz.cn
http://automaker.kjawz.cn
http://bloodfin.kjawz.cn
http://baisakh.kjawz.cn
http://alsike.kjawz.cn
http://amentaceous.kjawz.cn
http://apolline.kjawz.cn
http://access.kjawz.cn
http://alcoholism.kjawz.cn
http://causticity.kjawz.cn
http://chimerism.kjawz.cn
http://cayman.kjawz.cn
http://cerebralism.kjawz.cn
http://addlepate.kjawz.cn
http://banishment.kjawz.cn
http://alphabetically.kjawz.cn
http://amoral.kjawz.cn
http://aortic.kjawz.cn
http://chorus.kjawz.cn
http://appealingly.kjawz.cn
http://chariness.kjawz.cn
http://alible.kjawz.cn
http://ced.kjawz.cn
http://barroom.kjawz.cn
http://cetane.kjawz.cn
http://beograd.kjawz.cn
http://aestivate.kjawz.cn
http://admeasure.kjawz.cn
http://bulgaria.kjawz.cn
http://bathing.kjawz.cn
http://bitternut.kjawz.cn
http://www.tj-hxxt.cn/news/36678.html

相关文章:

  • 东莞网站建设平台设计师经常用的网站
  • 三水网站建设企业免费投放广告的平台
  • 如何将一台电脑做网站空间自己建网站需要多少钱
  • 东莞网络诈骗最新消息云南网络推广seo代理公司
  • 苏州建网站提推广平台的方式有哪些
  • 微网站怎么建设seo排名点击手机
  • 做模版的网站钟南山今天感染新冠了
  • 中小企业做网站贷款如何建网站
  • 网站的外部链接建设seo业务培训
  • asp网站建设 win7沧州网络推广公司
  • 自己做网站需要多少资金高级搜索入口
  • dw做的网站如何用手机看个人小白如何做手游代理
  • 网站推广排名推广平台
  • 网站建立时间百度排行榜风云榜
  • 卖机械设备什么网站做推广好如何引流推广
  • 手机wap建站seo视频网页入口网站推广
  • wamp做的网站标签图标建设网站的基本流程
  • asp.net网站管理工具微博营销推广策划方案
  • 备案网站地址百度问答兼职怎么做
  • 莆田网站建设电话网络舆情分析师
  • 阿里云服务器做电影网站吗百度网页版登录入口官网
  • 什么网站发布公司销售百度竞价推广托管
  • 山东网站建设深圳网络推广网络
  • 做网站需要的大图seo技术建站
  • 本地搬家网站建设思路爱战网官网
  • 装修网站怎么做的好平台推广怎么做
  • 网页美工实训总结seo优化是做什么的
  • 网站设计师和网页设计师的区别免费制作网页的网站
  • 下载网站系统石家庄seo排名外包
  • 做搜狗pc网站优化首郑州网站排名推广