麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

c# 委托和事件實例學習

2020-01-24 03:47:05
字體:
來源:轉載
供稿:網友
Common.cs:
復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Text;
namespace DelegateAndEvent.App_Code
{
public class Common
{
//定義全局變量.
public static string txt = "";
#region 定義方法
public string HelloCSharp(string name)
{
txt += "hello " + name;//這樣做是為了看到委托可以執行多個方法.
return "hello " + name;
}
public string HiCSharp(string name)
{
txt += "hi " + name;
return "hi " + name;
}
#endregion
#region 定義委托
//定義委托和定義方法類似,區別是加個delegate.去掉方法體,只寫方法簽名.
public delegate string SayHi(string name);
//委托可以像普通變量一樣使用.區別在于可以把多個方法賦給委托.
public SayHi dlgt1, dlgt2;
//使用委托
public void useDelegate(string name, SayHi sayHi)
{
sayHi(name);
}
#endregion
#region 事件
//聲明事件
public event SayHi hiEvent;
//觸發事件
public void causeEvent()
{
hiEvent += HelloCSharp;
hiEvent += HiCSharp;
if (hiEvent != null)
{
hiEvent("crane");
}
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace DelegateAndEvent.App_Code
{
public class Common
{
//定義全局變量.
public static string txt = "";
#region 定義方法
public string HelloCSharp(string name)
{
txt += "hello " + name;//這樣做是為了看到委托可以執行多個方法.
return "hello " + name;
}
public string HiCSharp(string name)
{
txt += "hi " + name;
return "hi " + name;
}
#endregion
#region 定義委托
//定義委托和定義方法類似,區別是加個delegate.去掉方法體,只寫方法簽名.
public delegate string SayHi(string name);
//委托可以像普通變量一樣使用.區別在于可以把多個方法賦給委托.
public SayHi dlgt1, dlgt2;
//使用委托
public void useDelegate(string name, SayHi sayHi)
{
sayHi(name);
}
#endregion
#region 事件
//聲明事件
public event SayHi hiEvent;
//觸發事件
public void causeEvent()
{
hiEvent += HelloCSharp;
hiEvent += HiCSharp;
if (hiEvent != null)
{
hiEvent("crane");
}
}
#endregion
}
}

MainFrm.cs:
復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DelegateAndEvent.App_Code;
namespace DelegateAndEvent
{
public partial class MainFrm : Form
{
Common common = new Common();
public MainFrm()
{
InitializeComponent();
}
private void btnOk_Click(object sender, EventArgs e)
{
//this.lblShow.Text += common.HelloCSharp("tree");
//測試委托
common.dlgt1 = common.HelloCSharp;//只寫方法簽名,不加()
common.dlgt1 += common.HiCSharp;//雖然兩個方法都調用了,但是返回值只返回最后一次調用的值.
//this.lblShow.Text += common.dlgt1("tree");//使用委托就像使用方法一樣.
//this.lblShow.Text = Common.txt;
//用委托做參數
//common.useDelegate("tree", common.dlgt1);
//this.lblShow.Text = Common.txt;
//事件
/*這里的問題是不能用common.hiEvent();這樣引用.
原因是需要在這個類里定義一個事件變量.
*/
common.causeEvent();
this.lblShow.Text = Common.txt;
}
}
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品欧美久久久久一区二区 | 一级毛片真人免费播放视频 | 久久国产秒 | 最新黄色电影网站 | 中文字幕在线网站 | 激情小说激情电影 | 国产高潮好爽好大受不了了 | 午夜视频福利 | 制服丝袜日日夜夜 | 亚洲成人高清在线观看 | 国产精品自在线拍 | 中文字幕在线网 | 免费毛片随便看 | 日日爱99| 日韩精品中文字幕一区 | 国产亚洲精品久久久久久久久 | www嫩草 | 久久免费视频一区二区三区 | 免费色片| 久久99网 | 国产一区二区三区在线观看视频 | 久久久麻豆 | 日本成人在线免费 | 国产精品久久久久久久久久尿 | 黄色毛片免费视频 | 亚洲精品 在线播放 | 激情亚洲网 | 日韩欧美电影一区二区三区 | av在线免费电影 | 免费看成人av| 中文字幕免费在线观看视频 | 色综合精品 | 日本在线视频二区 | 香蕉在线播放 | 深夜福利视频绿巨人视频在线观看 | a视频在线看 | 中文字幕在线亚洲 | 国产a级久久 | 国产一区二区三区四区五区加勒比 | 日日天日日夜日日摸 | 中文字幕激情 |