06.01.2015 Views

第一章C#語言基礎

第一章C#語言基礎

第一章C#語言基礎

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1.15.1 複 合 委 派 (multicast delegate)<br />

委 派 類 的 基 類 是 MulticastDelegate, 其 建 構 函 數 必 須 有 一 個 委 派 參 數 。 一 個 複 合 委 派 可 以<br />

代 表 多 個 委 派 , 如 下 例 :<br />

using System;<br />

public delegate void GreetingDelegate(string name); // 義 一 種 委 派 型 別 定<br />

public class MulticastDelegateApp<br />

{<br />

}<br />

public static void Main()<br />

{<br />

}<br />

/* 下<br />

//GreetingDelegate delegate1 = new GreetingDelegate();<br />

GreetingDelegate delegate1 = new GreetingDelegate(EnglishGreeting);<br />

delegate1 = EnglishGreeting; // 此<br />

delegate1 += ChineseGreeting; //<br />

");<br />

將<br />

delegate1("Peng<br />

// 調<br />

private static void EnglishGreeting(string name)<br />

{<br />

}<br />

*/ 編 譯 錯 誤 , 委 派 的 建 構 方 法 須 有 參 數 行 會<br />

上 一 行 等 價 委 派 加 入 複 合 委 派 哥 用 委 派 與 行<br />

Console.WriteLine("Good morning, {0}!", name);<br />

private static void ChineseGreeting(string name)<br />

{<br />

}<br />

Console.WriteLine (" 早<br />

, {0}!", name); 安<br />

當 調 用 複 合 委 派 時 , 此 委 派 所 代 表 的 所 有 委 派 全 被 調 用 。 撤 銷 複 合 委 派 中 的 某 個 委 派 可 以<br />

用 -= 運 算 。<br />

1.16 事 件<br />

事 件 是 C# 語 言 內 置 的 語 法 , 可 以 定 義 和 處 理 事 件 , 為 使 用 組 件 編 程 提 供 了 良 好 的 基 礎 。<br />

1.16.1 事 件 驅 動<br />

Windows 操 作 系 統 把 用 戶 的 動 作 都 看 作 消 息 ,C# 中 稱 作 事 件 , 例 如 用 鼠 標 左 鍵 單 擊 按 鈕 ,<br />

發 出 鼠 標 單 擊 按 鈕 事 件 。Windows 操 作 系 統 負 責 統 一 管 理 所 有 的 事 件 , 把 事 件 發 送 到 各 個 執<br />

47

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!