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

小型网站建设步骤asp网站安全

小型网站建设步骤,asp网站安全,统一管理网站系统,wordpress 去除页面标题转自#xff1a;http://ruizhinet.blog.163.com/blog/static/9921382820092801032681/ 之前写过一篇关于C#委托与事件的文章#xff08;见《C#委托和事件例析》#xff09;#xff0c;不过还是收到一些网友的提问。所以#xff0c;今天再换另一个角度来详解一下这个问题。…转自http://ruizhinet.blog.163.com/blog/static/9921382820092801032681/ 之前写过一篇关于C#委托与事件的文章见《C#委托和事件例析》不过还是收到一些网友的提问。所以今天再换另一个角度来详解一下这个问题。 一、在控制台下使用委托和事件 我们都知道C#中有“接口”这个概念所谓的“接口”就是定义一套标准然后由实现类来具体实现其中的方法所以说“接口是一组类的抽象”。同样道理我们可以将“委托”理解为“方法的抽象”也就是说定义一个方法的模板至于这个方法具体是怎么样的就由方法自己去实现。 我们知道接口的最大好处就是可以实现多态同理“委托”是可以实现方法的多态当我们想调用某个具体方法的时候我们不直接调用这个方法而是去调用这个委托。当然我们必须在具体方法和委托之间建立某种关联。 下面我们来看例子。 首先我们定义一个委托 public delegate void SaySomething(string name); 这跟抽象方法的语法格式很相似只是多了一个关键字delegate。既然是对方法的一种抽象那么我们最关注的当然就是方法的返回值以及方法的参数了。所以上面红色的部分就是我们定义出来的一个规矩如果某个方法想委托我去做事那么请你遵循我的规矩就是返回值为void参数为一个字符串。我们这个委托的含义是当某个人来了就向他说点东西。 好既然我们已经定义了这个规矩下面我们就定义具体的方法了。 public void SayHello(string name){    Console.WriteLine(Hello, name !);} public void SayNiceToMeetYou(string name){    Console.WriteLine(Nice to meet you, name !);} 我们这里一共定义了两个方法一个是向某人说Hello另一个是向某人说Nice to meet you。我们看到这里定义的两个方法的返回值和参数跟我们前面定义的“委托”是一致的。 接下来我们来看事件。 public event SaySomething come; 我们定义了一个事件这个事件是“有人来了”注意定义的时候我们使用event关键字除此之外我们还加上了前面定义的“委托”的名字。这个意思是说我这个事件只会跟“SaySomething”打交道并且当我这个事件发生的时候我会通知关注我的这些“委托”再由这些“委托”去调用具体的方法。 我们来定义一个测试方法 public void test() {     SaySomething sayhello new SaySomething(SayHello);    SaySomething saynice new SaySomething(SayNiceToMeetYou);    come sayhello;    come saynice;    come(张三);} 方法体中的前面两行是用来实例化委托注意我们用到了new关键字就好像实例化一个类一样然后传入一个参数但这个参数不是string类型、也不是int类型而是一个方法名。 再下面两行就是将委托加到事件上意思是说如果你这个事件发生了就告诉我一声。可以通过“”来将n个委托实例加到某个事件上一旦这个事件发生所有的这些委托实例都会得到通知。 最后一行是触发一个事件注意我们是直接用一个事件名然后跟一个参数这又跟“委托”中定义的那个规矩一致即要有一个string类型的参数。 最后运行一下 static void Main(string[] args){    Program program new Program();    program.test();    Console.Read();} 我们回过头来再看一下“事件”的定义 public event SaySomething come; 这里已经指出了“委托”的名字所以我们可以直接将方法加到事件上而省略“委托”的实例化过程因此上面的test()方法可以简单写为 public void test() {     come SayHello;    come SayNiceToMeetYou;    come(张三);}   二、在窗体中使用委托和事件 上面的例子并不能体现委托和事件的优点其实委托和事件在C#中使用非常广泛例如当我们点击某个“按钮”的时候就会有一个“Click”事件触发而这个事件会通知“委托”在C#窗体应用程序中“委托”的名字比较规范统一使用“EventHandler”它的具体格式是“void EventHandler(object sender, EventArgs e);”。相信大家都写过下面这样子的HelloWorld程序 当点击按钮的时候弹出一个对话框。我们怎样实现的呢你肯定会说我们在设计窗口双击按钮就会自动为我们生成类似如下的方法 private void button1_Click(object sender, EventArgs e){    MessageBox.Show(我被点击了);} 其实这里用到的就是事件和委托这里的button1_Click就是符合EventHandler委托规矩的一个具体的方法即返回值为void参数分别是一个object和EventArgs。 我们可以在Form1.Designer.cs中看到如下代码 this.button1.Click new System.EventHandler(this.button1_Click); 可以看到这里有一个Click事件然后将一个委托实例附加到这个事件上跟我们前面讲的控制台应用程序中的用法是完全一样的。那这个Click事件是怎么触发的呢对于这些系统类的事件并不用我们管。 当然我们也可以定义自己的事件和委托例如我定义一个事件这个事件就是输出对象的名字。 我们这里定义了一个ShowName委托和一个btnclick事件。并且在button1_Click()方法中触发这个btnclick事件。最后的结果是当我们点击按钮的时候首先弹出一个“我被点击了”的对话框然后确定之后再弹出另一个显示按钮名称的对话框 转载于:https://www.cnblogs.com/bianlan/archive/2013/01/18/2867114.html
http://wiki.neutronadmin.com/news/242915/

相关文章:

  • 建网站不花钱免费建站紫色网站模板
  • 众v创业营网站建设塘沽网站建设优化
  • 郑州市做网站的wordpress 标签生成图片
  • 免费的毕业设计网站建设wordpress centos安装教程
  • 网页设计项目案例网站沃尔玛公司网站建设案例分析
  • 不同网站相似的页面百度不收录吗网络网站关键词
  • 网站跳出率怎么计算wordpress搭建后域名打不开
  • 售后服务 网站建设卸载 wordpress
  • 网站里网格怎么做重庆新闻经典论坛
  • 东莞化工网站建设wordpress cos-html-cache
  • 网页制作与网站建设的发展趋势设想seo在线网站诊断推推蛙
  • 怎么和其它网站做友情链接养殖网站模版
  • 网站程序源码深圳网站开发网站
  • 企业做网站哪家网站好茂名网站建设解决方案
  • 中铁建设集团有限公司董事长广东seo网站推广
  • 网站建设 仿站404页面模板
  • 上海个人做网站如何建设网站兴田德润可以吗
  • 张家港网站制作哪家好wordpress版本推荐
  • 做网站需要审批不vultr建站wordpress
  • 做网站策划书吧阿里巴巴官网首页方块鱼饵
  • 邢台市建设局安全监督管理网站wordpress crm分销插件
  • 建站行业的发展前景用python做网站后台
  • 网站建设销售顾问开场白网站首页优化的目的
  • 做直播平台网站赚钱吗网络广告一般是怎么收费
  • 关于网站建设的请示wordpress安装主题打不开
  • 网站运营与推广方案html5 网站模板下载
  • 菏泽做网站wordpress媒体库
  • 创建一个网站流程网页制作基础步骤
  • ssl外贸网站wordpress 重定向函数
  • 个人做外贸的网站如何做网站线上监控