
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
	<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head><card id="MainCard" title="&#x6B22;&#x8FCE;&#x5149;&#x4E34;"><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a><br/>&nbsp;</p><p><b>&#x6807;&#x9898;&#x3A;</b> &#x43;&#x23;&#x20;&#x4E2D;&#x7684;&#x59D4;&#x6258;&#x548C;&#x4E8B;&#x4EF6;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x30;&#x38;&#x2D;&#x31;&#x32;&#x2D;&#x31;&#x39;&#x20;&#x31;&#x31;&#x3A;&#x30;&#x30;&#x20;&#x41;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=5">&#x57;&#x65;&#x62;&#x7F16;&#x7A0B;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> &#x5F15;&#x8A00;<br/>&#x59D4;&#x6258; &#x548C; &#x4E8B;&#x4EF6;&#x5728; .Net Framework&#x4E2D;&#x7684;&#x5E94;&#x7528;&#x975E;&#x5E38;&#x5E7F;&#x6CDB;&#xFF0C;&#x7136;&#x800C;&#xFF0C;&#x8F83;&#x597D;&#x5730;&#x7406;&#x89E3;&#x59D4;&#x6258;&#x548C;&#x4E8B;&#x4EF6;&#x5BF9;&#x5F88;&#x591A;&#x63A5;&#x89E6;C#&#x65F6;&#x95F4;&#x4E0D;&#x957F;&#x7684;&#x4EBA;&#x6765;&#x8BF4;&#x5E76;&#x4E0D;&#x5BB9;&#x6613;&#x3002;&#x5B83;&#x4EEC;&#x5C31;&#x50CF;&#x662F;&#x4E00;&#x9053;&#x69DB;&#x513F;&#xFF0C;&#x8FC7;&#x4E86;&#x8FD9;&#x4E2A;&#x69DB;&#x7684;&#x4EBA;&#xFF0C;&#x89C9;&#x5F97;&#x771F;&#x662F;&#x592A;&#x5BB9;&#x6613;&#x4E86;&#xFF0C;&#x800C;&#x6CA1;&#x6709;&#x8FC7;&#x53BB;&#x7684;&#x4EBA;&#x6BCF;&#x6B21;&#x89C1;&#x5230;&#x59D4;&#x6258;&#x548C;&#x4E8B;&#x4EF6;&#x5C31;&#x89C9;&#x5F97;&#x5FC3;&#x91CC;&#x522B;&#xFF08;bi&#xE8;&#xFF09;&#x5F97;&#x614C;&#xFF0C;&#x6DF7;&#x8EAB;&#x4E0D;&#x81EA;&#x5728;&#x3002;&#x672C;&#x6587;&#x4E2D;&#xFF0C;&#x6211;&#x5C06;&#x901A;&#x8FC7;&#x4E24;&#x4E2A;&#x8303;&#x4F8B;&#x7531;&#x6D45;&#x5165;&#x6DF1;&#x5730;&#x8BB2;&#x8FF0;&#x4EC0;&#x4E48;&#x662F;&#x59D4;&#x6258;&#x3001;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x4F7F;&#x7528;&#x59D4;&#x6258;&#x3001;&#x4E8B;&#x4EF6;&#x7684;&#x7531;&#x6765;&#x3001;.Net Framework&#x4E2D;&#x7684;&#x59D4;&#x6258;&#x548C;&#x4E8B;&#x4EF6;&#x3001;&#x59D4;&#x6258;&#x548C;&#x4E8B;&#x4EF6;&#x5BF9;Observer&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x7684;&#x610F;&#x4E49;&#xFF0C;&#x5BF9;&#x5B83;&#x4EEC;&#x7684;&#x4E2D;&#x95F4;&#x4EE3;&#x7801;&#x4E5F;&#x505A;&#x4E86;&#x8BA8;&#x8BBA;&#x3002;<br/>&#x5C06;&#x65B9;&#x6CD5;&#x4F5C;&#x4E3A;&#x65B9;&#x6CD5;&#x7684;&#x53C2;&#x6570;<br/>&#x6211;&#x4EEC;&#x5148;&#x4E0D;&#x7BA1;&#x8FD9;&#x4E2A;&#x6807;&#x9898;&#x5982;&#x4F55;&#x7684;&#x7ED5;&#x53E3;&#xFF0C;&#x4E5F;&#x4E0D;&#x7BA1;&#x59D4;&#x6258;&#x7A76;&#x7ADF;&#x662F;&#x4E2A;&#x4EC0;&#x4E48;&#x4E1C;&#x897F;&#xFF0C;&#x6765;&#x770B;&#x4E0B;&#x9762;&#x8FD9;&#x4E24;&#x4E2A;&#x6700;&#x7B80;&#x5355;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x5B83;&#x4EEC;&#x4E0D;&#x8FC7;&#x662F;&#x5728;&#x5C4F;&#x5E55;&#x4E0A;&#x8F93;&#x51FA;&#x4E00;&#x53E5;&#x95EE;&#x5019;&#x7684;&#x8BDD;&#x8BED;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public void GreetPeople(string name) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x505A;&#x67D0;&#x4E9B;&#x989D;&#x5916;&#x7684;&#x4E8B;&#x60C5;&#xFF0C;&#x6BD4;&#x5982;&#x521D;&#x59CB;&#x5316;&#x4E4B;&#x7C7B;&#xFF0C;&#x6B64;&#x5904;&#x7565;<br/>&nbsp;&nbsp;&nbsp;&nbsp;EnglishGreeting(name);<br/>}<br/>public void EnglishGreeting(string name) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;Morning, &#34; + name);<br/>}<br/>&#x6682;&#x4E14;&#x4E0D;&#x7BA1;&#x8FD9;&#x4E24;&#x4E2A;&#x65B9;&#x6CD5;&#x6709;&#x6CA1;&#x6709;&#x4EC0;&#x4E48;&#x5B9E;&#x9645;&#x610F;&#x4E49;&#x3002;GreetPeople&#x7528;&#x4E8E;&#x5411;&#x67D0;&#x4EBA;&#x95EE;&#x597D;&#xFF0C;&#x5F53;&#x6211;&#x4EEC;&#x4F20;&#x9012;&#x4EE3;&#x8868;&#x67D0;&#x4EBA;&#x59D3;&#x540D;&#x7684;name&#x53C2;&#x6570;&#xFF0C;&#x6BD4;&#x5982;&#x8BF4;&#x201C;Jimmy&#x201D;&#xFF0C;&#x8FDB;&#x53BB;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x5728;&#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#x4E2D;&#xFF0C;&#x5C06;&#x8C03;&#x7528;EnglishGreeting&#x65B9;&#x6CD5;&#xFF0C;&#x518D;&#x6B21;&#x4F20;&#x9012;name&#x53C2;&#x6570;&#xFF0C;EnglishGreeting&#x5219;&#x7528;&#x4E8E;&#x5411;&#x5C4F;&#x5E55;&#x8F93;&#x51FA; &#x201C;Morning, Jimmy&#x201D;&#x3002;<br/>&#x73B0;&#x5728;&#x5047;&#x8BBE;&#x8FD9;&#x4E2A;&#x7A0B;&#x5E8F;&#x9700;&#x8981;&#x8FDB;&#x884C;&#x5168;&#x7403;&#x5316;&#xFF0C;&#x54CE;&#x5440;&#xFF0C;&#x4E0D;&#x597D;&#x4E86;&#xFF0C;&#x6211;&#x662F;&#x4E2D;&#x56FD;&#x4EBA;&#xFF0C;&#x6211;&#x4E0D;&#x660E;&#x767D;&#x201C;Morning&#x201D;&#x662F;&#x4EC0;&#x4E48;&#x610F;&#x601D;&#xFF0C;&#x600E;&#x4E48;&#x529E;&#x5462;&#xFF1F;&#x597D;&#x5427;&#xFF0C;&#x6211;&#x4EEC;&#x518D;&#x52A0;&#x4E2A;&#x4E2D;&#x6587;&#x7248;&#x7684;&#x95EE;&#x5019;&#x65B9;&#x6CD5;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public void ChineseGreeting(string name){<br/>&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;&#x65E9;&#x4E0A;&#x597D;, &#34; + name);<br/>}<br/>&#x8FD9;&#x65F6;&#x5019;&#xFF0C;GreetPeople&#x4E5F;&#x9700;&#x8981;&#x6539;&#x4E00;&#x6539;&#x4E86;&#xFF0C;&#x4E0D;&#x7136;&#x5982;&#x4F55;&#x5224;&#x65AD;&#x5230;&#x5E95;&#x7528;&#x54EA;&#x4E2A;&#x7248;&#x672C;&#x7684;Greeting&#x95EE;&#x5019;&#x65B9;&#x6CD5;&#x5408;&#x9002;&#x5462;&#xFF1F;&#x5728;&#x8FDB;&#x884C;&#x8FD9;&#x4E2A;&#x4E4B;&#x524D;&#xFF0C;&#x6211;&#x4EEC;&#x6700;&#x597D;&#x518D;&#x5B9A;&#x4E49;&#x4E00;&#x4E2A;&#x679A;&#x4E3E;&#x4F5C;&#x4E3A;&#x5224;&#x65AD;&#x7684;&#x4F9D;&#x636E;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public enum Language{<br/>&nbsp;&nbsp;&nbsp;&nbsp;English, Chinese<br/>}<br/>public void GreetPeople(string name, Language lang){<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&#x505A;&#x67D0;&#x4E9B;&#x989D;&#x5916;&#x7684;&#x4E8B;&#x60C5;&#xFF0C;&#x6BD4;&#x5982;&#x521D;&#x59CB;&#x5316;&#x4E4B;&#x7C7B;&#xFF0C;&#x6B64;&#x5904;&#x7565;<br/>&nbsp;&nbsp;&nbsp;&nbsp;swith(lang){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case Language.English:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EnglishGreeting(name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case Language.Chinese:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ChineseGreeting(name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>OK&#xFF0C;&#x5C3D;&#x7BA1;&#x8FD9;&#x6837;&#x89E3;&#x51B3;&#x4E86;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x6211;&#x4E0D;&#x8BF4;&#x5927;&#x5BB6;&#x4E5F;&#x5F88;&#x5BB9;&#x6613;&#x60F3;&#x5230;&#xFF0C;&#x8FD9;&#x4E2A;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x7684;&#x53EF;&#x6269;&#x5C55;&#x6027;&#x5F88;&#x5DEE;&#xFF0C;&#x5982;&#x679C;&#x65E5;&#x540E;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x518D;&#x6DFB;&#x52A0;&#x97E9;&#x6587;&#x7248;&#x3001;&#x65E5;&#x6587;&#x7248;&#xFF0C;&#x5C31;&#x4E0D;&#x5F97;&#x4E0D;&#x53CD;&#x590D;&#x4FEE;&#x6539;&#x679A;&#x4E3E;&#x548C;GreetPeople()&#x65B9;&#x6CD5;&#xFF0C;&#x4EE5;&#x9002;&#x5E94;&#x65B0;&#x7684;&#x9700;&#x6C42;&#x3002;<br/>&#x5728;&#x8003;&#x8651;&#x65B0;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x4E4B;&#x524D;&#xFF0C;&#x6211;&#x4EEC;&#x5148;&#x770B;&#x770B; GreetPeople&#x7684;&#x65B9;&#x6CD5;&#x7B7E;&#x540D;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public void GreetPeople(string name, Language lang)<br/>&#x6211;&#x4EEC;&#x4EC5;&#x770B; string name&#xFF0C;&#x5728;&#x8FD9;&#x91CC;&#xFF0C;string &#x662F;&#x53C2;&#x6570;&#x7C7B;&#x578B;&#xFF0C;name &#x662F;&#x53C2;&#x6570;&#x53D8;&#x91CF;&#xFF0C;&#x5F53;&#x6211;&#x4EEC;&#x8D4B;&#x7ED9;name&#x5B57;&#x7B26;&#x4E32;&#x201C;jimmy&#x201D;&#x65F6;&#xFF0C;&#x5B83;&#x5C31;&#x4EE3;&#x8868;&#x201C;jimmy&#x201D;&#x8FD9;&#x4E2A;&#x503C;&#xFF1B;&#x5F53;&#x6211;&#x4EEC;&#x8D4B;&#x7ED9;&#x5B83;&#x201C;&#x5F20;&#x5B50;&#x9633;&#x201D;&#x65F6;&#xFF0C;&#x5B83;&#x53C8;&#x4EE3;&#x8868;&#x7740;&#x201C;&#x5F20;&#x5B50;&#x9633;&#x201D;&#x8FD9;&#x4E2A;&#x503C;&#x3002;&#x7136;&#x540E;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5728;&#x65B9;&#x6CD5;&#x4F53;&#x5185;&#x5BF9;&#x8FD9;&#x4E2A;name&#x8FDB;&#x884C;&#x5176;&#x4ED6;&#x64CD;&#x4F5C;&#x3002;&#x54CE;&#xFF0C;&#x8FD9;&#x7B80;&#x76F4;&#x662F;&#x5E9F;&#x8BDD;&#x4E48;&#xFF0C;&#x521A;&#x5B66;&#x7A0B;&#x5E8F;&#x5C31;&#x77E5;&#x9053;&#x4E86;&#x3002;<br/>&#x5982;&#x679C;&#x4F60;&#x518D;&#x4ED4;&#x7EC6;&#x60F3;&#x60F3;&#xFF0C;&#x5047;&#x5982;GreetPeople()&#x65B9;&#x6CD5;&#x53EF;&#x4EE5;&#x63A5;&#x53D7;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#x53D8;&#x91CF;&#xFF0C;&#x8FD9;&#x4E2A;&#x53D8;&#x91CF;&#x53EF;&#x4EE5;&#x4EE3;&#x8868;&#x53E6;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;&#xFF0C;&#x5F53;&#x6211;&#x4EEC;&#x7ED9;&#x8FD9;&#x4E2A;&#x53D8;&#x91CF;&#x8D4B;&#x503C; EnglishGreeting&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x5B83;&#x4EE3;&#x8868;&#x7740; EnglsihGreeting() &#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#xFF1B;&#x5F53;&#x6211;&#x4EEC;&#x7ED9;&#x5B83;&#x8D4B;&#x503C;ChineseGreeting &#x7684;&#x65F6;&#x5019;&#xFF0C;&#x5B83;&#x53C8;&#x4EE3;&#x8868;&#x7740;ChineseGreeting()&#x65B9;&#x6CD5;&#x3002;&#x6211;&#x4EEC;&#x5C06;&#x8FD9;&#x4E2A;&#x53C2;&#x6570;&#x53D8;&#x91CF;&#x547D;&#x540D;&#x4E3A; MakeGreeting&#xFF0C;&#x90A3;&#x4E48;&#x4E0D;&#x662F;&#x53EF;&#x4EE5;&#x5982;&#x540C;&#x7ED9;name&#x8D4B;&#x503C;&#x65F6;&#x4E00;&#x6837;&#xFF0C;&#x5728;&#x8C03;&#x7528; GreetPeople()&#x65B9;&#x6CD5;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x7ED9;&#x8FD9;&#x4E2A;MakeGreeting &#x53C2;&#x6570;&#x4E5F;&#x8D4B;&#x4E0A;&#x503C;&#x4E48;(ChineseGreeting&#x6216;&#x8005;EnglsihGreeting&#x7B49;)&#xFF1F;&#x7136;&#x540E;&#xFF0C;&#x6211;&#x4EEC;&#x5728;&#x65B9;&#x6CD5;&#x4F53;&#x5185;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x50CF;&#x4F7F;&#x7528;&#x522B;&#x7684;&#x53C2;&#x6570;&#x4E00;&#x6837;&#x4F7F;&#x7528;MakeGreeting&#x3002;&#x4F46;&#x662F;&#xFF0C;&#x7531;&#x4E8E;MakeGreeting&#x4EE3;&#x8868;&#x7740;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;&#xFF0C;&#x5B83;&#x7684;&#x4F7F;&#x7528;&#x65B9;&#x5F0F;&#x5E94;&#x8BE5;&#x548C;&#x5B83;&#x88AB;&#x8D4B;&#x7684;&#x65B9;&#x6CD5;(&#x6BD4;&#x5982;ChineseGreeting)&#x662F;&#x4E00;&#x6837;&#x7684;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;MakeGreeting(name);<br/>&#x597D;&#x4E86;&#xFF0C;&#x6709;&#x4E86;&#x601D;&#x8DEF;&#x4E86;&#xFF0C;&#x6211;&#x4EEC;&#x73B0;&#x5728;&#x5C31;&#x6765;&#x6539;&#x6539;GreetPeople()&#x65B9;&#x6CD5;&#xFF0C;&#x90A3;&#x4E48;&#x5B83;&#x5E94;&#x8BE5;&#x662F;&#x8FD9;&#x4E2A;&#x6837;&#x5B50;&#x4E86;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public void GreetPeople(string name, *** MakeGreeting){<br/>&nbsp;&nbsp;&nbsp;&nbsp;MakeGreeting(name);<br/>}<br/>&#x6CE8;&#x610F;&#x5230; *** &#xFF0C;&#x8FD9;&#x4E2A;&#x4F4D;&#x7F6E;&#x901A;&#x5E38;&#x653E;&#x7F6E;&#x7684;&#x5E94;&#x8BE5;&#x662F;&#x53C2;&#x6570;&#x7684;&#x7C7B;&#x578B;&#xFF0C;&#x4F46;&#x5230;&#x76EE;&#x524D;&#x4E3A;&#x6B62;&#xFF0C;&#x6211;&#x4EEC;&#x4EC5;&#x4EC5;&#x662F;&#x60F3;&#x5230;&#x5E94;&#x8BE5;&#x6709;&#x4E2A;&#x53EF;&#x4EE5;&#x4EE3;&#x8868;&#x65B9;&#x6CD5;&#x7684;&#x53C2;&#x6570;&#xFF0C;&#x5E76;&#x6309;&#x8FD9;&#x4E2A;&#x601D;&#x8DEF;&#x53BB;&#x6539;&#x5199;GreetPeople&#x65B9;&#x6CD5;&#xFF0C;&#x73B0;&#x5728;&#x5C31;&#x51FA;&#x73B0;&#x4E86;&#x4E00;&#x4E2A;&#x5927;&#x95EE;&#x9898;&#xFF1A;&#x8FD9;&#x4E2A;&#x4EE3;&#x8868;&#x7740;&#x65B9;&#x6CD5;&#x7684;MakeGreeting&#x53C2;&#x6570;&#x5E94;&#x8BE5;&#x662F;&#x4EC0;&#x4E48;&#x7C7B;&#x578B;&#x7684;&#xFF1F;<br/>NOTE&#xFF1A;&#x8FD9;&#x91CC;&#x5DF2;&#x4E0D;&#x518D;&#x9700;&#x8981;&#x679A;&#x4E3E;&#x4E86;&#xFF0C;&#x56E0;&#x4E3A;&#x5728;&#x7ED9;MakeGreeting&#x8D4B;&#x503C;&#x7684;&#x65F6;&#x5019;&#x52A8;&#x6001;&#x5730;&#x51B3;&#x5B9A;&#x4F7F;&#x7528;&#x54EA;&#x4E2A;&#x65B9;&#x6CD5;&#xFF0C;&#x662F;ChineseGreeting&#x8FD8;&#x662F; EnglishGreeting&#xFF0C;&#x800C;&#x5728;&#x8FD9;&#x4E2A;&#x4E24;&#x4E2A;&#x65B9;&#x6CD5;&#x5185;&#x90E8;&#xFF0C;&#x5DF2;&#x7ECF;&#x5BF9;&#x4F7F;&#x7528;&#x201C;morning&#x201D;&#x8FD8;&#x662F;&#x201C;&#x65E9;&#x4E0A;&#x597D;&#x201D;&#x4F5C;&#x4E86;&#x533A;&#x5206;&#x3002;<br/>&#x806A;&#x660E;&#x7684;&#x4F60;&#x5E94;&#x8BE5;&#x5DF2;&#x7ECF;&#x60F3;&#x5230;&#x4E86;&#xFF0C;&#x73B0;&#x5728;&#x662F;&#x59D4;&#x6258;&#x8BE5;&#x51FA;&#x573A;&#x7684;&#x65F6;&#x5019;&#x4E86;&#xFF0C;&#x4F46;&#x8BB2;&#x8FF0;&#x59D4;&#x6258;&#x4E4B;&#x524D;&#xFF0C;&#x6211;&#x4EEC;&#x518D;&#x770B;&#x770B;MakeGreeting&#x53C2;&#x6570;&#x6240;&#x80FD;&#x4EE3;&#x8868;&#x7684; ChineseGreeting()&#x548C;EnglishGreeting()&#x65B9;&#x6CD5;&#x7684;&#x7B7E;&#x540D;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public void EnglishGreeting(string name)<br/>public void ChineseGreeting(string name)<br/>&#x5982;&#x540C;name&#x53EF;&#x4EE5;&#x63A5;&#x53D7;String&#x7C7B;&#x578B;&#x7684;&#x201C;true&#x201D;&#x548C;&#x201C;1&#x201D;&#xFF0C;&#x4F46;&#x4E0D;&#x80FD;&#x63A5;&#x53D7;bool&#x7C7B;&#x578B;&#x7684;true&#x548C;int&#x7C7B;&#x578B;&#x7684;1&#x4E00;&#x6837;&#x3002;MakeGreeting&#x7684; &#x53C2;&#x6570;&#x7C7B;&#x578B;&#x5B9A;&#x4E49; &#x5E94;&#x8BE5;&#x80FD;&#x591F;&#x786E;&#x5B9A; MakeGreeting&#x53EF;&#x4EE5;&#x4EE3;&#x8868;&#x7684;&#x65B9;&#x6CD5;&#x79CD;&#x7C7B;&#xFF0C;&#x518D;&#x8FDB;&#x4E00;&#x6B65;&#x8BB2;&#xFF0C;&#x5C31;&#x662F;MakeGreeting&#x53EF;&#x4EE5;&#x4EE3;&#x8868;&#x7684;&#x65B9;&#x6CD5; &#x7684; &#x53C2;&#x6570;&#x7C7B;&#x578B;&#x548C;&#x8FD4;&#x56DE;&#x7C7B;&#x578B;&#x3002;<br/>&#x4E8E;&#x662F;&#xFF0C;&#x59D4;&#x6258;&#x51FA;&#x73B0;&#x4E86;&#xFF1A;&#x5B83;&#x5B9A;&#x4E49;&#x4E86;MakeGreeting&#x53C2;&#x6570;&#x6240;&#x80FD;&#x4EE3;&#x8868;&#x7684;&#x65B9;&#x6CD5;&#x7684;&#x79CD;&#x7C7B;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;MakeGreeting&#x53C2;&#x6570;&#x7684;&#x7C7B;&#x578B;&#x3002;<br/>NOTE&#xFF1A;&#x5982;&#x679C;&#x4E0A;&#x9762;&#x8FD9;&#x53E5;&#x8BDD;&#x6BD4;&#x8F83;&#x7ED5;&#x53E3;&#xFF0C;&#x6211;&#x628A;&#x5B83;&#x7FFB;&#x8BD1;&#x6210;&#x8FD9;&#x6837;&#xFF1A;string &#x5B9A;&#x4E49;&#x4E86;name&#x53C2;&#x6570;&#x6240;&#x80FD;&#x4EE3;&#x8868;&#x7684;&#x503C;&#x7684;&#x79CD;&#x7C7B;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;name&#x53C2;&#x6570;&#x7684;&#x7C7B;&#x578B;&#x3002;<br/>&#x672C;&#x4F8B;&#x4E2D;&#x59D4;&#x6258;&#x7684;&#x5B9A;&#x4E49;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public delegate void GreetingDelegate(string name);<br/>&#x53EF;&#x4EE5;&#x4E0E;&#x4E0A;&#x9762;EnglishGreeting()&#x65B9;&#x6CD5;&#x7684;&#x7B7E;&#x540D;&#x5BF9;&#x6BD4;&#x4E00;&#x4E0B;&#xFF0C;&#x9664;&#x4E86;&#x52A0;&#x5165;&#x4E86;delegate&#x5173;&#x952E;&#x5B57;&#x4EE5;&#x5916;&#xFF0C;&#x5176;&#x4F59;&#x7684;&#x662F;&#x4E0D;&#x662F;&#x5B8C;&#x5168;&#x4E00;&#x6837;&#xFF1F;<br/>&#x73B0;&#x5728;&#xFF0C;&#x8BA9;&#x6211;&#x4EEC;&#x518D;&#x6B21;&#x6539;&#x52A8;GreetPeople()&#x65B9;&#x6CD5;&#xFF0C;&#x5982;&#x4E0B;&#x6240;&#x793A;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public void GreetPeople(string name, GreetingDelegate MakeGreeting){<br/>&nbsp;&nbsp;&nbsp;&nbsp;MakeGreeting(name);<br/>}<br/>&#x5982;&#x4F60;&#x6240;&#x89C1;&#xFF0C;&#x59D4;&#x6258;GreetingDelegate&#x51FA;&#x73B0;&#x7684;&#x4F4D;&#x7F6E;&#x4E0E; string&#x76F8;&#x540C;&#xFF0C;string&#x662F;&#x4E00;&#x4E2A;&#x7C7B;&#x578B;&#xFF0C;&#x90A3;&#x4E48;GreetingDelegate&#x5E94;&#x8BE5;&#x4E5F;&#x662F;&#x4E00;&#x4E2A;&#x7C7B;&#x578B;&#xFF0C;&#x6216;&#x8005;&#x53EB;&#x7C7B;(Class)&#x3002;&#x4F46;&#x662F;&#x59D4;&#x6258;&#x7684;&#x58F0;&#x660E;&#x65B9;&#x5F0F;&#x548C;&#x7C7B;&#x5374;&#x5B8C;&#x5168;&#x4E0D;&#x540C;&#xFF0C;&#x8FD9;&#x662F;&#x600E;&#x4E48;&#x4E00;&#x56DE;&#x4E8B;&#xFF1F;&#x5B9E;&#x9645;&#x4E0A;&#xFF0C;&#x59D4;&#x6258;&#x5728;&#x7F16;&#x8BD1;&#x7684;&#x65F6;&#x5019;&#x786E;&#x5B9E;&#x4F1A;&#x7F16;&#x8BD1;&#x6210;&#x7C7B;&#x3002;&#x56E0;&#x4E3A;Delegate&#x662F;&#x4E00;&#x4E2A;&#x7C7B;&#xFF0C;&#x6240;&#x4EE5;&#x5728;&#x4EFB;&#x4F55;&#x53EF;&#x4EE5;&#x58F0;&#x660E;&#x7C7B;&#x7684;&#x5730;&#x65B9;&#x90FD;&#x53EF;&#x4EE5;&#x58F0;&#x660E;&#x59D4;&#x6258;&#x3002;&#x66F4;&#x591A;&#x7684;&#x5185;&#x5BB9;&#x5C06;&#x5728;&#x4E0B;&#x9762;&#x8BB2;&#x8FF0;&#xFF0C;&#x73B0;&#x5728;&#xFF0C;&#x8BF7;&#x770B;&#x770B;&#x8FD9;&#x4E2A;&#x8303;&#x4F8B;&#x7684;&#x5B8C;&#x6574;&#x4EE3;&#x7801;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;using System;<br/>using System.Collections.Generic;<br/>using System.Text;<br/>namespace Delegate {<br/>&nbsp;&nbsp;&nbsp;&nbsp; //&#x5B9A;&#x4E49;&#x59D4;&#x6258;&#xFF0C;&#x5B83;&#x5B9A;&#x4E49;&#x4E86;&#x53EF;&#x4EE5;&#x4EE3;&#x8868;&#x7684;&#x65B9;&#x6CD5;&#x7684;&#x7C7B;&#x578B;<br/>&nbsp;&nbsp;&nbsp;&nbsp; public delegate void GreetingDelegate(string name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class Program {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static void EnglishGreeting(string name) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Morning, &#34; + name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static void ChineseGreeting(string name) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;&#x65E9;&#x4E0A;&#x597D;, &#34; + name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&#x6CE8;&#x610F;&#x6B64;&#x65B9;&#x6CD5;&#xFF0C;&#x5B83;&#x63A5;&#x53D7;&#x4E00;&#x4E2A;GreetingDelegate&#x7C7B;&#x578B;&#x7684;&#x65B9;&#x6CD5;&#x4F5C;&#x4E3A;&#x53C2;&#x6570;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static void GreetPeople(string name, GreetingDelegate MakeGreeting) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MakeGreeting(name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GreetPeople(&#34;Jimmy Zhang&#34;, EnglishGreeting);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GreetPeople(&#34;&#x5F20;&#x5B50;&#x9633;&#34;, ChineseGreeting);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.ReadKey();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x8F93;&#x51FA;&#x5982;&#x4E0B;&#xFF1A;<br/>Morning, Jimmy Zhang<br/>&#x65E9;&#x4E0A;&#x597D;, &#x5F20;&#x5B50;&#x9633;<br/>&#x6211;&#x4EEC;&#x73B0;&#x5728;&#x5BF9;&#x59D4;&#x6258;&#x505A;&#x4E00;&#x4E2A;&#x603B;&#x7ED3;&#xFF1A;<br/>&#x59D4;&#x6258;&#x662F;&#x4E00;&#x4E2A;&#x7C7B;&#xFF0C;&#x5B83;&#x5B9A;&#x4E49;&#x4E86;&#x65B9;&#x6CD5;&#x7684;&#x7C7B;&#x578B;&#xFF0C;&#x4F7F;&#x5F97;&#x53EF;&#x4EE5;&#x5C06;&#x65B9;&#x6CD5;&#x5F53;&#x4F5C;&#x53E6;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;&#x7684;&#x53C2;&#x6570;&#x6765;&#x8FDB;&#x884C;&#x4F20;&#x9012;&#xFF0C;&#x8FD9;&#x79CD;&#x5C06;&#x65B9;&#x6CD5;&#x52A8;&#x6001;&#x5730;&#x8D4B;&#x7ED9;&#x53C2;&#x6570;&#x7684;&#x505A;&#x6CD5;&#xFF0C;&#x53EF;&#x4EE5;&#x907F;&#x514D;&#x5728;&#x7A0B;&#x5E8F;&#x4E2D;&#x5927;&#x91CF;&#x4F7F;&#x7528;If-Else(Switch)&#x8BED;&#x53E5;&#xFF0C;&#x540C;&#x65F6;&#x4F7F;&#x5F97;&#x7A0B;&#x5E8F;&#x5177;&#x6709;&#x66F4;&#x597D;&#x7684;&#x53EF;&#x6269;&#x5C55;&#x6027;&#x3002;<br/>&#x5C06;&#x65B9;&#x6CD5;&#x7ED1;&#x5B9A;&#x5230;&#x59D4;&#x6258;<br/>&#x770B;&#x5230;&#x8FD9;&#x91CC;&#xFF0C;&#x662F;&#x4E0D;&#x662F;&#x6709;&#x90A3;&#x4E48;&#x70B9;&#x5982;&#x68A6;&#x521D;&#x9192;&#x7684;&#x611F;&#x89C9;&#xFF1F;&#x4E8E;&#x662F;&#xFF0C;&#x4F60;&#x662F;&#x4E0D;&#x662F;&#x5728;&#x60F3;&#xFF1A;&#x5728;&#x4E0A;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4E2D;&#xFF0C;&#x6211;&#x4E0D;&#x4E00;&#x5B9A;&#x8981;&#x76F4;&#x63A5;&#x5728;GreetPeople()&#x65B9;&#x6CD5;&#x4E2D;&#x7ED9; name&#x53C2;&#x6570;&#x8D4B;&#x503C;&#xFF0C;&#x6211;&#x53EF;&#x4EE5;&#x50CF;&#x8FD9;&#x6837;&#x4F7F;&#x7528;&#x53D8;&#x91CF;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;string name1, name2;<br/>&nbsp;&nbsp;&nbsp;&nbsp;name1 = &#34;Jimmy Zhang&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;name2 = &#34;&#x5F20;&#x5B50;&#x9633;&#34;; <br/>&nbsp;&nbsp;&nbsp;&nbsp; GreetPeople(name1, EnglishGreeting);<br/>&nbsp;&nbsp;&nbsp;&nbsp; GreetPeople(name2, ChineseGreeting);<br/>&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();<br/>}<br/>&#x800C;&#x65E2;&#x7136;&#x59D4;&#x6258;GreetingDelegate &#x548C; &#x7C7B;&#x578B; string &#x7684;&#x5730;&#x4F4D;&#x4E00;&#x6837;&#xFF0C;&#x90FD;&#x662F;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x79CD;&#x53C2;&#x6570;&#x7C7B;&#x578B;&#xFF0C;&#x90A3;&#x4E48;&#xFF0C;&#x6211;&#x662F;&#x4E0D;&#x662F;&#x4E5F;&#x53EF;&#x4EE5;&#x8FD9;&#x4E48;&#x4F7F;&#x7528;&#x59D4;&#x6258;&#xFF1F;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetingDelegate delegate1, delegate2;<br/>&nbsp;&nbsp;&nbsp;&nbsp;delegate1 = EnglishGreeting;<br/>&nbsp;&nbsp;&nbsp;&nbsp;delegate2 = ChineseGreeting;<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetPeople(&#34;Jimmy Zhang&#34;, delegate1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GreetPeople(&#34;&#x5F20;&#x5B50;&#x9633;&#34;, delegate2);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();<br/>}<br/>&#x5982;&#x4F60;&#x6240;&#x6599;&#xFF0C;&#x8FD9;&#x6837;&#x662F;&#x6CA1;&#x6709;&#x95EE;&#x9898;&#x7684;&#xFF0C;&#x7A0B;&#x5E8F;&#x4E00;&#x5982;&#x9884;&#x6599;&#x7684;&#x90A3;&#x6837;&#x8F93;&#x51FA;&#x3002;&#x8FD9;&#x91CC;&#xFF0C;&#x6211;&#x60F3;&#x8BF4;&#x7684;&#x662F;&#x59D4;&#x6258;&#x4E0D;&#x540C;&#x4E8E;string&#x7684;&#x4E00;&#x4E2A;&#x7279;&#x6027;&#xFF1A;&#x53EF;&#x4EE5;&#x5C06;&#x591A;&#x4E2A;&#x65B9;&#x6CD5;&#x8D4B;&#x7ED9;&#x540C;&#x4E00;&#x4E2A;&#x59D4;&#x6258;&#xFF0C;&#x6216;&#x8005;&#x53EB;&#x5C06;&#x591A;&#x4E2A;&#x65B9;&#x6CD5;&#x7ED1;&#x5B9A;&#x5230;&#x540C;&#x4E00;&#x4E2A;&#x59D4;&#x6258;&#xFF0C;&#x5F53;&#x8C03;&#x7528;&#x8FD9;&#x4E2A;&#x59D4;&#x6258;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x5C06;&#x4F9D;&#x6B21;&#x8C03;&#x7528;&#x5176;&#x6240;&#x7ED1;&#x5B9A;&#x7684;&#x65B9;&#x6CD5;&#x3002;&#x5728;&#x8FD9;&#x4E2A;&#x4F8B;&#x5B50;&#x4E2D;&#xFF0C;&#x8BED;&#x6CD5;&#x5982;&#x4E0B;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetingDelegate delegate1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;delegate1 = EnglishGreeting; // &#x5148;&#x7ED9;&#x59D4;&#x6258;&#x7C7B;&#x578B;&#x7684;&#x53D8;&#x91CF;&#x8D4B;&#x503C;<br/>&nbsp;&nbsp;&nbsp;&nbsp;delegate1 += ChineseGreeting;&nbsp;&nbsp; // &#x7ED9;&#x6B64;&#x59D4;&#x6258;&#x53D8;&#x91CF;&#x518D;&#x7ED1;&#x5B9A;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp; // &#x5C06;&#x5148;&#x540E;&#x8C03;&#x7528; EnglishGreeting &#x4E0E; ChineseGreeting &#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetPeople(&#34;Jimmy Zhang&#34;, delegate1);&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();<br/>}<br/>&#x8F93;&#x51FA;&#x4E3A;&#xFF1A;<br/>Morning, Jimmy Zhang<br/>&#x65E9;&#x4E0A;&#x597D;, Jimmy Zhang<br/>&#x5B9E;&#x9645;&#x4E0A;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x4E5F;&#x53EF;&#x4EE5;&#x7ED5;&#x8FC7;GreetPeople&#x65B9;&#x6CD5;&#xFF0C;&#x901A;&#x8FC7;&#x59D4;&#x6258;&#x6765;&#x76F4;&#x63A5;&#x8C03;&#x7528;EnglishGreeting&#x548C;ChineseGreeting&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetingDelegate delegate1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;delegate1 = EnglishGreeting; // &#x5148;&#x7ED9;&#x59D4;&#x6258;&#x7C7B;&#x578B;&#x7684;&#x53D8;&#x91CF;&#x8D4B;&#x503C;<br/>&nbsp;&nbsp;&nbsp;&nbsp;delegate1 += ChineseGreeting;&nbsp;&nbsp; // &#x7ED9;&#x6B64;&#x59D4;&#x6258;&#x53D8;&#x91CF;&#x518D;&#x7ED1;&#x5B9A;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x5C06;&#x5148;&#x540E;&#x8C03;&#x7528; EnglishGreeting &#x4E0E; ChineseGreeting &#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;delegate1 (&#34;Jimmy Zhang&#34;);&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();<br/>}<br/>NOTE&#xFF1A;&#x8FD9;&#x5728;&#x672C;&#x4F8B;&#x4E2D;&#x662F;&#x6CA1;&#x6709;&#x95EE;&#x9898;&#x7684;&#xFF0C;&#x4F46;&#x56DE;&#x5934;&#x770B;&#x4E0B;&#x4E0A;&#x9762;GreetPeople()&#x7684;&#x5B9A;&#x4E49;&#xFF0C;&#x5728;&#x5B83;&#x4E4B;&#x4E2D;&#x53EF;&#x4EE5;&#x505A;&#x4E00;&#x4E9B;&#x5BF9;&#x4E8E;EnglshihGreeting&#x548C;ChineseGreeting&#x6765;&#x8BF4;&#x90FD;&#x9700;&#x8981;&#x8FDB;&#x884C;&#x7684;&#x5DE5;&#x4F5C;&#xFF0C;&#x4E3A;&#x4E86;&#x7B80;&#x4FBF;&#x6211;&#x505A;&#x4E86;&#x7701;&#x7565;&#x3002;<br/>&#x6CE8;&#x610F;&#x8FD9;&#x91CC;&#xFF0C;&#x7B2C;&#x4E00;&#x6B21;&#x7528;&#x7684;&#x201C;=&#x201D;&#xFF0C;&#x662F;&#x8D4B;&#x503C;&#x7684;&#x8BED;&#x6CD5;&#xFF1B;&#x7B2C;&#x4E8C;&#x6B21;&#xFF0C;&#x7528;&#x7684;&#x662F;&#x201C;+=&#x201D;&#xFF0C;&#x662F;&#x7ED1;&#x5B9A;&#x7684;&#x8BED;&#x6CD5;&#x3002;&#x5982;&#x679C;&#x7B2C;&#x4E00;&#x6B21;&#x5C31;&#x4F7F;&#x7528;&#x201C;+=&#x201D;&#xFF0C;&#x5C06;&#x51FA;&#x73B0;&#x201C;&#x4F7F;&#x7528;&#x4E86;&#x672A;&#x8D4B;&#x503C;&#x7684;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x201D;&#x7684;&#x7F16;&#x8BD1;&#x9519;&#x8BEF;&#x3002;<br/>&#x6211;&#x4EEC;&#x4E5F;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x4E0B;&#x9762;&#x7684;&#x4EE3;&#x7801;&#x6765;&#x8FD9;&#x6837;&#x7B80;&#x5316;&#x8FD9;&#x4E00;&#x8FC7;&#x7A0B;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;GreetingDelegate delegate1 = new GreetingDelegate(EnglishGreeting);<br/>delegate1 += ChineseGreeting;&nbsp;&nbsp; // &#x7ED9;&#x6B64;&#x59D4;&#x6258;&#x53D8;&#x91CF;&#x518D;&#x7ED1;&#x5B9A;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;<br/>&#x770B;&#x5230;&#x8FD9;&#x91CC;&#xFF0C;&#x5E94;&#x8BE5;&#x6CE8;&#x610F;&#x5230;&#xFF0C;&#x8FD9;&#x6BB5;&#x4EE3;&#x7801;&#x7B2C;&#x4E00;&#x6761;&#x8BED;&#x53E5;&#x4E0E;&#x5B9E;&#x4F8B;&#x5316;&#x4E00;&#x4E2A;&#x7C7B;&#x662F;&#x4F55;&#x5176;&#x7684;&#x76F8;&#x4F3C;&#xFF0C;&#x4F60;&#x4E0D;&#x7981;&#x60F3;&#x5230;&#xFF1A;&#x4E0A;&#x9762;&#x7B2C;&#x4E00;&#x6B21;&#x7ED1;&#x5B9A;&#x59D4;&#x6258;&#x65F6;&#x4E0D;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x201C;+=&#x201D;&#x7684;&#x7F16;&#x8BD1;&#x9519;&#x8BEF;&#xFF0C;&#x6216;&#x8BB8;&#x53EF;&#x4EE5;&#x7528;&#x8FD9;&#x6837;&#x7684;&#x65B9;&#x6CD5;&#x6765;&#x907F;&#x514D;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;GreetingDelegate delegate1 = new GreetingDelegate();<br/>delegate1 += EnglishGreeting;&nbsp;&nbsp; // &#x8FD9;&#x6B21;&#x7528;&#x7684;&#x662F; &#x201C;+=&#x201D;&#xFF0C;&#x7ED1;&#x5B9A;&#x8BED;&#x6CD5;&#x3002;<br/>delegate1 += ChineseGreeting;&nbsp;&nbsp; // &#x7ED9;&#x6B64;&#x59D4;&#x6258;&#x53D8;&#x91CF;&#x518D;&#x7ED1;&#x5B9A;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;<br/>&#x4F46;&#x5B9E;&#x9645;&#x4E0A;&#xFF0C;&#x8FD9;&#x6837;&#x4F1A;&#x51FA;&#x73B0;&#x7F16;&#x8BD1;&#x9519;&#x8BEF;&#xFF1A; &#x201C;GreetingDelegate&#x201D;&#x65B9;&#x6CD5;&#x6CA1;&#x6709;&#x91C7;&#x7528;&#x201C;0&#x201D;&#x4E2A;&#x53C2;&#x6570;&#x7684;&#x91CD;&#x8F7D;&#x3002;&#x5C3D;&#x7BA1;&#x8FD9;&#x6837;&#x7684;&#x7ED3;&#x679C;&#x8BA9;&#x6211;&#x4EEC;&#x89C9;&#x5F97;&#x6709;&#x70B9;&#x6CAE;&#x4E27;&#xFF0C;&#x4F46;&#x662F;&#x7F16;&#x8BD1;&#x7684;&#x63D0;&#x793A;&#xFF1A;&#x201C;&#x6CA1;&#x6709;0&#x4E2A;&#x53C2;&#x6570;&#x7684;&#x91CD;&#x8F7D;&#x201D;&#x518D;&#x6B21;&#x8BA9;&#x6211;&#x4EEC;&#x8054;&#x60F3;&#x5230;&#x4E86;&#x7C7B;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;&#x3002;&#x6211;&#x77E5;&#x9053;&#x4F60;&#x4E00;&#x5B9A;&#x6309;&#x637A;&#x4E0D;&#x4F4F;&#x60F3;&#x63A2;&#x4E2A;&#x7A76;&#x7ADF;&#xFF0C;&#x4F46;&#x518D;&#x6B64;&#x4E4B;&#x524D;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x5148;&#x628A;&#x57FA;&#x7840;&#x77E5;&#x8BC6;&#x548C;&#x5E94;&#x7528;&#x4ECB;&#x7ECD;&#x5B8C;&#x3002;<br/>&#x65E2;&#x7136;&#x7ED9;&#x59D4;&#x6258;&#x53EF;&#x4EE5;&#x7ED1;&#x5B9A;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;&#xFF0C;&#x90A3;&#x4E48;&#x4E5F;&#x5E94;&#x8BE5;&#x6709;&#x529E;&#x6CD5;&#x53D6;&#x6D88;&#x5BF9;&#x65B9;&#x6CD5;&#x7684;&#x7ED1;&#x5B9A;&#xFF0C;&#x5F88;&#x5BB9;&#x6613;&#x60F3;&#x5230;&#xFF0C;&#x8FD9;&#x4E2A;&#x8BED;&#x6CD5;&#x662F;&#x201C;-=&#x201D;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetingDelegate delegate1 = new GreetingDelegate(EnglishGreeting);<br/>&nbsp;&nbsp;&nbsp;&nbsp;delegate1 += ChineseGreeting;&nbsp;&nbsp; // &#x7ED9;&#x6B64;&#x59D4;&#x6258;&#x53D8;&#x91CF;&#x518D;&#x7ED1;&#x5B9A;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x5C06;&#x5148;&#x540E;&#x8C03;&#x7528; EnglishGreeting &#x4E0E; ChineseGreeting &#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetPeople(&#34;Jimmy Zhang&#34;, delegate1);&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine();<br/>&nbsp;&nbsp;&nbsp;&nbsp;delegate1 -= EnglishGreeting; //&#x53D6;&#x6D88;&#x5BF9;EnglishGreeting&#x65B9;&#x6CD5;&#x7684;&#x7ED1;&#x5B9A;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x5C06;&#x4EC5;&#x8C03;&#x7528; ChineseGreeting <br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetPeople(&#34;&#x5F20;&#x5B50;&#x9633;&#34;, delegate1); <br/>&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();<br/>}<br/>&#x8F93;&#x51FA;&#x4E3A;&#xFF1A;<br/>Morning, Jimmy Zhang<br/>&#x65E9;&#x4E0A;&#x597D;, Jimmy Zhang<br/>&#x65E9;&#x4E0A;&#x597D;, &#x5F20;&#x5B50;&#x9633;<br/>&#x8BA9;&#x6211;&#x4EEC;&#x518D;&#x6B21;&#x5BF9;&#x59D4;&#x6258;&#x4F5C;&#x4E2A;&#x603B;&#x7ED3;&#xFF1A;<br/>&#x4F7F;&#x7528;&#x59D4;&#x6258;&#x53EF;&#x4EE5;&#x5C06;&#x591A;&#x4E2A;&#x65B9;&#x6CD5;&#x7ED1;&#x5B9A;&#x5230;&#x540C;&#x4E00;&#x4E2A;&#x59D4;&#x6258;&#x53D8;&#x91CF;&#xFF0C;&#x5F53;&#x8C03;&#x7528;&#x6B64;&#x53D8;&#x91CF;&#x65F6;(&#x8FD9;&#x91CC;&#x7528;&#x201C;&#x8C03;&#x7528;&#x201D;&#x8FD9;&#x4E2A;&#x8BCD;&#xFF0C;&#x662F;&#x56E0;&#x4E3A;&#x6B64;&#x53D8;&#x91CF;&#x4EE3;&#x8868;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;)&#xFF0C;&#x53EF;&#x4EE5;&#x4F9D;&#x6B21;&#x8C03;&#x7528;&#x6240;&#x6709;&#x7ED1;&#x5B9A;&#x7684;&#x65B9;&#x6CD5;&#x3002;<br/>&#x4E8B;&#x4EF6;&#x7684;&#x7531;&#x6765;<br/>&#x6211;&#x4EEC;&#x7EE7;&#x7EED;&#x601D;&#x8003;&#x4E0A;&#x9762;&#x7684;&#x7A0B;&#x5E8F;&#xFF1A;&#x4E0A;&#x9762;&#x7684;&#x4E09;&#x4E2A;&#x65B9;&#x6CD5;&#x90FD;&#x5B9A;&#x4E49;&#x5728;Programe&#x7C7B;&#x4E2D;&#xFF0C;&#x8FD9;&#x6837;&#x505A;&#x662F;&#x4E3A;&#x4E86;&#x7406;&#x89E3;&#x7684;&#x65B9;&#x4FBF;&#xFF0C;&#x5B9E;&#x9645;&#x5E94;&#x7528;&#x4E2D;&#xFF0C;&#x901A;&#x5E38;&#x90FD;&#x662F; GreetPeople &#x5728;&#x4E00;&#x4E2A;&#x7C7B;&#x4E2D;&#xFF0C;ChineseGreeting&#x548C; EnglishGreeting &#x5728;&#x53E6;&#x5916;&#x7684;&#x7C7B;&#x4E2D;&#x3002;&#x73B0;&#x5728;&#x4F60;&#x5DF2;&#x7ECF;&#x5BF9;&#x59D4;&#x6258;&#x6709;&#x4E86;&#x521D;&#x6B65;&#x4E86;&#x89E3;&#xFF0C;&#x662F;&#x65F6;&#x5019;&#x5BF9;&#x4E0A;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x505A;&#x4E2A;&#x6539;&#x8FDB;&#x4E86;&#x3002;&#x5047;&#x8BBE;&#x6211;&#x4EEC;&#x5C06;GreetingPeople()&#x653E;&#x5728;&#x4E00;&#x4E2A;&#x53EB;GreetingManager&#x7684;&#x7C7B;&#x4E2D;&#xFF0C;&#x90A3;&#x4E48;&#x65B0;&#x7A0B;&#x5E8F;&#x5E94;&#x8BE5;&#x662F;&#x8FD9;&#x4E2A;&#x6837;&#x5B50;&#x7684;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;namespace Delegate {<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&#x5B9A;&#x4E49;&#x59D4;&#x6258;&#xFF0C;&#x5B83;&#x5B9A;&#x4E49;&#x4E86;&#x53EF;&#x4EE5;&#x4EE3;&#x8868;&#x7684;&#x65B9;&#x6CD5;&#x7684;&#x7C7B;&#x578B;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public delegate void GreetingDelegate(string name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&#x65B0;&#x5EFA;&#x7684;GreetingManager&#x7C7B;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public class GreetingManager{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void GreetPeople(string name, GreetingDelegate MakeGreeting) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MakeGreeting(name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;class Program {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static void EnglishGreeting(string name) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Morning, &#34; + name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static void ChineseGreeting(string name) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;&#x65E9;&#x4E0A;&#x597D;, &#34; + name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ... ...<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x8FD9;&#x4E2A;&#x65F6;&#x5019;&#xFF0C;&#x5982;&#x679C;&#x8981;&#x5B9E;&#x73B0;&#x524D;&#x9762;&#x6F14;&#x793A;&#x7684;&#x8F93;&#x51FA;&#x6548;&#x679C;&#xFF0C;Main&#x65B9;&#x6CD5;&#x6211;&#x60F3;&#x5E94;&#x8BE5;&#x662F;&#x8FD9;&#x6837;&#x7684;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetingManager gm = new&nbsp;&nbsp;GreetingManager();<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.GreetPeople(&#34;Jimmy Zhang&#34;, EnglishGreeting);<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.GreetPeople(&#34;&#x5F20;&#x5B50;&#x9633;&#34;, ChineseGreeting);<br/>}<br/>&#x6211;&#x4EEC;&#x8FD0;&#x884C;&#x8FD9;&#x6BB5;&#x4EE3;&#x7801;&#xFF0C;&#x55EF;&#xFF0C;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;&#x95EE;&#x9898;&#x3002;&#x7A0B;&#x5E8F;&#x4E00;&#x5982;&#x9884;&#x6599;&#x5730;&#x90A3;&#x6837;&#x8F93;&#x51FA;&#x4E86;&#xFF1A;<br/>Morning, Jimmy Zhang<br/>&#x65E9;&#x4E0A;&#x597D;, &#x5F20;&#x5B50;&#x9633;<br/>&#x73B0;&#x5728;&#xFF0C;&#x5047;&#x8BBE;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x4E0A;&#x4E00;&#x8282;&#x5B66;&#x5230;&#x7684;&#x77E5;&#x8BC6;&#xFF0C;&#x5C06;&#x591A;&#x4E2A;&#x65B9;&#x6CD5;&#x7ED1;&#x5B9A;&#x5230;&#x540C;&#x4E00;&#x4E2A;&#x59D4;&#x6258;&#x53D8;&#x91CF;&#xFF0C;&#x8BE5;&#x5982;&#x4F55;&#x505A;&#x5462;&#xFF1F;&#x8BA9;&#x6211;&#x4EEC;&#x518D;&#x6B21;&#x6539;&#x5199;&#x4EE3;&#x7801;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetingManager gm = new&nbsp;&nbsp;GreetingManager();<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetingDelegate delegate1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;delegate1 = EnglishGreeting;<br/>&nbsp;&nbsp;&nbsp;&nbsp;delegate1 += ChineseGreeting;<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.GreetPeople(&#34;Jimmy Zhang&#34;, delegate1);<br/>}<br/>&#x8F93;&#x51FA;&#xFF1A;<br/>Morning, Jimmy Zhang<br/>&#x65E9;&#x4E0A;&#x597D;, Jimmy Zhang<br/>&#x5230;&#x4E86;&#x8FD9;&#x91CC;&#xFF0C;&#x6211;&#x4EEC;&#x4E0D;&#x7981;&#x60F3;&#x5230;&#xFF1A;&#x9762;&#x5411;&#x5BF9;&#x8C61;&#x8BBE;&#x8BA1;&#xFF0C;&#x8BB2;&#x7A76;&#x7684;&#x662F;&#x5BF9;&#x8C61;&#x7684;&#x5C01;&#x88C5;&#xFF0C;&#x65E2;&#x7136;&#x53EF;&#x4EE5;&#x58F0;&#x660E;&#x59D4;&#x6258;&#x7C7B;&#x578B;&#x7684;&#x53D8;&#x91CF;(&#x5728;&#x4E0A;&#x4F8B;&#x4E2D;&#x662F;delegate1)&#xFF0C;&#x6211;&#x4EEC;&#x4F55;&#x4E0D;&#x5C06;&#x8FD9;&#x4E2A;&#x53D8;&#x91CF;&#x5C01;&#x88C5;&#x5230; GreetManager&#x7C7B;&#x4E2D;&#xFF1F;&#x5728;&#x8FD9;&#x4E2A;&#x7C7B;&#x7684;&#x5BA2;&#x6237;&#x7AEF;&#x4E2D;&#x4F7F;&#x7528;&#x4E0D;&#x662F;&#x66F4;&#x65B9;&#x4FBF;&#x4E48;&#xFF1F;&#x4E8E;&#x662F;&#xFF0C;&#x6211;&#x4EEC;&#x6539;&#x5199;GreetManager&#x7C7B;&#xFF0C;&#x50CF;&#x8FD9;&#x6837;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public class GreetingManager{<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&#x5728;GreetingManager&#x7C7B;&#x7684;&#x5185;&#x90E8;&#x58F0;&#x660E;delegate1&#x53D8;&#x91CF;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public GreetingDelegate delegate1;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public void GreetPeople(string name, GreetingDelegate MakeGreeting) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MakeGreeting(name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x73B0;&#x5728;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x8FD9;&#x6837;&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#x59D4;&#x6258;&#x53D8;&#x91CF;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetingManager gm = new&nbsp;&nbsp;GreetingManager();<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.delegate1 = EnglishGreeting;<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.delegate1 += ChineseGreeting;<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.GreetPeople(&#34;Jimmy Zhang&#34;, gm.delegate1);<br/>}<br/>&#x8F93;&#x51FA;&#x4E3A;&#xFF1A;<br/>Morning, Jimmy Zhang<br/>&#x65E9;&#x4E0A;&#x597D;, Jimmy Zhang<br/>&#x5C3D;&#x7BA1;&#x8FD9;&#x6837;&#x505A;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x6211;&#x4EEC;&#x53D1;&#x73B0;&#x8FD9;&#x6761;&#x8BED;&#x53E5;&#x5F88;&#x5947;&#x602A;&#x3002;&#x5728;&#x8C03;&#x7528;gm.GreetPeople&#x65B9;&#x6CD5;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x518D;&#x6B21;&#x4F20;&#x9012;&#x4E86;gm&#x7684;delegate1&#x5B57;&#x6BB5;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;gm.GreetPeople(&#34;Jimmy Zhang&#34;, gm.delegate1);<br/>&#x65E2;&#x7136;&#x5982;&#x6B64;&#xFF0C;&#x6211;&#x4EEC;&#x4F55;&#x4E0D;&#x4FEE;&#x6539; GreetingManager &#x7C7B;&#x6210;&#x8FD9;&#x6837;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public class GreetingManager{<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&#x5728;GreetingManager&#x7C7B;&#x7684;&#x5185;&#x90E8;&#x58F0;&#x660E;delegate1&#x53D8;&#x91CF;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public GreetingDelegate delegate1;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public void GreetPeople(string name) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(delegate1!=null){&nbsp;&nbsp;&nbsp;&nbsp; //&#x5982;&#x679C;&#x6709;&#x65B9;&#x6CD5;&#x6CE8;&#x518C;&#x59D4;&#x6258;&#x53D8;&#x91CF;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delegate1(name);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#x901A;&#x8FC7;&#x59D4;&#x6258;&#x8C03;&#x7528;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#xFF0C;&#x8C03;&#x7528;&#x770B;&#x4E0A;&#x53BB;&#x66F4;&#x7B80;&#x6D01;&#x4E00;&#x4E9B;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetingManager gm = new&nbsp;&nbsp;GreetingManager();<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.delegate1 = EnglishGreeting;<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.delegate1 += ChineseGreeting;<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.GreetPeople(&#34;Jimmy Zhang&#34;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#x6CE8;&#x610F;&#xFF0C;&#x8FD9;&#x6B21;&#x4E0D;&#x9700;&#x8981;&#x518D;&#x4F20;&#x9012; delegate1&#x53D8;&#x91CF;<br/>}<br/>&#x8F93;&#x51FA;&#x4E3A;&#xFF1A;<br/>Morning, Jimmy Zhang<br/>&#x65E9;&#x4E0A;&#x597D;, Jimmy Zhang<br/>&#x5C3D;&#x7BA1;&#x8FD9;&#x6837;&#x8FBE;&#x5230;&#x4E86;&#x6211;&#x4EEC;&#x8981;&#x7684;&#x6548;&#x679C;&#xFF0C;&#x4F46;&#x662F;&#x8FD8;&#x662F;&#x5B58;&#x5728;&#x7740;&#x95EE;&#x9898;&#xFF1A;<br/>&#x5728;&#x8FD9;&#x91CC;&#xFF0C;delegate1&#x548C;&#x6211;&#x4EEC;&#x5E73;&#x65F6;&#x7528;&#x7684;string&#x7C7B;&#x578B;&#x7684;&#x53D8;&#x91CF;&#x6CA1;&#x6709;&#x4EC0;&#x4E48;&#x5206;&#x522B;&#xFF0C;&#x800C;&#x6211;&#x4EEC;&#x77E5;&#x9053;&#xFF0C;&#x5E76;&#x4E0D;&#x662F;&#x6240;&#x6709;&#x7684;&#x5B57;&#x6BB5;&#x90FD;&#x5E94;&#x8BE5;&#x58F0;&#x660E;&#x6210;public&#xFF0C;&#x5408;&#x9002;&#x7684;&#x505A;&#x6CD5;&#x662F;&#x5E94;&#x8BE5;public&#x7684;&#x65F6;&#x5019;public&#xFF0C;&#x5E94;&#x8BE5;private&#x7684;&#x65F6;&#x5019;private&#x3002;<br/>&#x6211;&#x4EEC;&#x5148;&#x770B;&#x770B;&#x5982;&#x679C;&#x628A; delegate1 &#x58F0;&#x660E;&#x4E3A; private&#x4F1A;&#x600E;&#x6837;&#xFF1F;&#x7ED3;&#x679C;&#x5C31;&#x662F;&#xFF1A;&#x8FD9;&#x7B80;&#x76F4;&#x5C31;&#x662F;&#x5728;&#x641E;&#x7B11;&#x3002;&#x56E0;&#x4E3A;&#x58F0;&#x660E;&#x59D4;&#x6258;&#x7684;&#x76EE;&#x7684;&#x5C31;&#x662F;&#x4E3A;&#x4E86;&#x628A;&#x5B83;&#x66B4;&#x9732;&#x5728;&#x7C7B;&#x7684;&#x5BA2;&#x6237;&#x7AEF;&#x8FDB;&#x884C;&#x65B9;&#x6CD5;&#x7684;&#x6CE8;&#x518C;&#xFF0C;&#x4F60;&#x628A;&#x5B83;&#x58F0;&#x660E;&#x4E3A;private&#x4E86;&#xFF0C;&#x5BA2;&#x6237;&#x7AEF;&#x5BF9;&#x5B83;&#x6839;&#x672C;&#x5C31;&#x4E0D;&#x53EF;&#x89C1;&#xFF0C;&#x90A3;&#x5B83;&#x8FD8;&#x6709;&#x4EC0;&#x4E48;&#x7528;&#xFF1F;<br/>&#x518D;&#x770B;&#x770B;&#x628A;delegate1 &#x58F0;&#x660E;&#x4E3A; public &#x4F1A;&#x600E;&#x6837;&#xFF1F;&#x7ED3;&#x679C;&#x5C31;&#x662F;&#xFF1A;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x53EF;&#x4EE5;&#x5BF9;&#x5B83;&#x8FDB;&#x884C;&#x968F;&#x610F;&#x7684;&#x8D4B;&#x503C;&#x7B49;&#x64CD;&#x4F5C;&#xFF0C;&#x4E25;&#x91CD;&#x7834;&#x574F;&#x5BF9;&#x8C61;&#x7684;&#x5C01;&#x88C5;&#x6027;&#x3002;<br/>&#x6700;&#x540E;&#xFF0C;&#x7B2C;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;&#x6CE8;&#x518C;&#x7528;&#x201C;=&#x201D;&#xFF0C;&#x662F;&#x8D4B;&#x503C;&#x8BED;&#x6CD5;&#xFF0C;&#x56E0;&#x4E3A;&#x8981;&#x8FDB;&#x884C;&#x5B9E;&#x4F8B;&#x5316;&#xFF0C;&#x7B2C;&#x4E8C;&#x4E2A;&#x65B9;&#x6CD5;&#x6CE8;&#x518C;&#x5219;&#x7528;&#x7684;&#x662F;&#x201C;+=&#x201D;&#x3002;&#x4F46;&#x662F;&#xFF0C;&#x4E0D;&#x7BA1;&#x662F;&#x8D4B;&#x503C;&#x8FD8;&#x662F;&#x6CE8;&#x518C;&#xFF0C;&#x90FD;&#x662F;&#x5C06;&#x65B9;&#x6CD5;&#x7ED1;&#x5B9A;&#x5230;&#x59D4;&#x6258;&#x4E0A;&#xFF0C;&#x9664;&#x4E86;&#x8C03;&#x7528;&#x65F6;&#x5148;&#x540E;&#x987A;&#x5E8F;&#x4E0D;&#x540C;&#xFF0C;&#x518D;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;&#x7684;&#x5206;&#x522B;&#xFF0C;&#x8FD9;&#x6837;&#x4E0D;&#x662F;&#x8BA9;&#x4EBA;&#x89C9;&#x5F97;&#x5F88;&#x522B;&#x626D;&#x4E48;&#xFF1F;<br/>&#x73B0;&#x5728;&#x6211;&#x4EEC;&#x60F3;&#x60F3;&#xFF0C;&#x5982;&#x679C;delegate1&#x4E0D;&#x662F;&#x4E00;&#x4E2A;&#x59D4;&#x6258;&#x7C7B;&#x578B;&#xFF0C;&#x800C;&#x662F;&#x4E00;&#x4E2A;string&#x7C7B;&#x578B;&#xFF0C;&#x4F60;&#x4F1A;&#x600E;&#x4E48;&#x505A;&#xFF1F;&#x7B54;&#x6848;&#x662F;&#x4F7F;&#x7528;&#x5C5E;&#x6027;&#x5BF9;&#x5B57;&#x6BB5;&#x8FDB;&#x884C;&#x5C01;&#x88C5;&#x3002;<br/>&#x4E8E;&#x662F;&#xFF0C;Event&#x51FA;&#x573A;&#x4E86;&#xFF0C;&#x5B83;&#x5C01;&#x88C5;&#x4E86;&#x59D4;&#x6258;&#x7C7B;&#x578B;&#x7684;&#x53D8;&#x91CF;&#xFF0C;&#x4F7F;&#x5F97;&#xFF1A;&#x5728;&#x7C7B;&#x7684;&#x5185;&#x90E8;&#xFF0C;&#x4E0D;&#x7BA1;&#x4F60;&#x58F0;&#x660E;&#x5B83;&#x662F;public&#x8FD8;&#x662F;protected&#xFF0C;&#x5B83;&#x603B;&#x662F;private&#x7684;&#x3002;&#x5728;&#x7C7B;&#x7684;&#x5916;&#x90E8;&#xFF0C;&#x6CE8;&#x518C;&#x201C;+=&#x201D;&#x548C;&#x6CE8;&#x9500;&#x201C;-=&#x201D;&#x7684;&#x8BBF;&#x95EE;&#x9650;&#x5B9A;&#x7B26;&#x4E0E;&#x4F60;&#x5728;&#x58F0;&#x660E;&#x4E8B;&#x4EF6;&#x65F6;&#x4F7F;&#x7528;&#x7684;&#x8BBF;&#x95EE;&#x7B26;&#x76F8;&#x540C;&#x3002;<br/>&#x6211;&#x4EEC;&#x6539;&#x5199;GreetingManager&#x7C7B;&#xFF0C;&#x5B83;&#x53D8;&#x6210;&#x4E86;&#x8FD9;&#x4E2A;&#x6837;&#x5B50;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public class GreetingManager{<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&#x8FD9;&#x4E00;&#x6B21;&#x6211;&#x4EEC;&#x5728;&#x8FD9;&#x91CC;&#x58F0;&#x660E;&#x4E00;&#x4E2A;&#x4E8B;&#x4EF6;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public event GreetingDelegate MakeGreet;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public void GreetPeople(string name) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MakeGreet(name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x5F88;&#x5BB9;&#x6613;&#x6CE8;&#x610F;&#x5230;&#xFF1A;MakeGreet &#x4E8B;&#x4EF6;&#x7684;&#x58F0;&#x660E;&#x4E0E;&#x4E4B;&#x524D;&#x59D4;&#x6258;&#x53D8;&#x91CF;delegate1&#x7684;&#x58F0;&#x660E;&#x552F;&#x4E00;&#x7684;&#x533A;&#x522B;&#x662F;&#x591A;&#x4E86;&#x4E00;&#x4E2A;event&#x5173;&#x952E;&#x5B57;&#x3002;&#x770B;&#x5230;&#x8FD9;&#x91CC;&#xFF0C;&#x5728;&#x7ED3;&#x5408;&#x4E0A;&#x9762;&#x7684;&#x8BB2;&#x89E3;&#xFF0C;&#x4F60;&#x5E94;&#x8BE5;&#x660E;&#x767D;&#x5230;&#xFF1A;&#x4E8B;&#x4EF6;&#x5176;&#x5B9E;&#x6CA1;&#x4EC0;&#x4E48;&#x4E0D;&#x597D;&#x7406;&#x89E3;&#x7684;&#xFF0C;&#x58F0;&#x660E;&#x4E00;&#x4E2A;&#x4E8B;&#x4EF6;&#x4E0D;&#x8FC7;&#x7C7B;&#x4F3C;&#x4E8E;&#x58F0;&#x660E;&#x4E00;&#x4E2A;&#x8FDB;&#x884C;&#x4E86;&#x5C01;&#x88C5;&#x7684;&#x59D4;&#x6258;&#x7C7B;&#x578B;&#x7684;&#x53D8;&#x91CF;&#x800C;&#x5DF2;&#x3002;<br/>&#x4E3A;&#x4E86;&#x8BC1;&#x660E;&#x4E0A;&#x9762;&#x7684;&#x63A8;&#x8BBA;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x50CF;&#x4E0B;&#x9762;&#x8FD9;&#x6837;&#x6539;&#x5199;Main&#x65B9;&#x6CD5;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetingManager gm = new&nbsp;&nbsp;GreetingManager();<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.MakeGreet = EnglishGreeting;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // &#x7F16;&#x8BD1;&#x9519;&#x8BEF;1<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.MakeGreet += ChineseGreeting;<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.GreetPeople(&#34;Jimmy Zhang&#34;);<br/>}<br/>&#x4F1A;&#x5F97;&#x5230;&#x7F16;&#x8BD1;&#x9519;&#x8BEF;&#xFF1A;&#x4E8B;&#x4EF6;&#x201C;Delegate.GreetingManager.MakeGreet&#x201D;&#x53EA;&#x80FD;&#x51FA;&#x73B0;&#x5728; += &#x6216; -= &#x7684;&#x5DE6;&#x8FB9;(&#x4ECE;&#x7C7B;&#x578B;&#x201C;Delegate.GreetingManager&#x201D;&#x4E2D;&#x4F7F;&#x7528;&#x65F6;&#x9664;&#x5916;)&#x3002;<br/>dnawo&#x8865;&#x5145;&#xFF1A;&#x5C06;&#x4E0A;&#x4F8B;&#x505A;&#x5982;&#x4E0B;&#x4FEE;&#x6539;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;static void Main(string[] args) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;GreetingManager gm = new&nbsp;&nbsp;GreetingManager();<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.MakeGreet += EnglishGreeting;<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.MakeGreet += ChineseGreeting;<br/>&nbsp;&nbsp;&nbsp;&nbsp;gm.MakeGreet(&#34;Jimmy Zhang&#34;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // &#x7F16;&#x8BD1;&#x9519;&#x8BEF;&#x540C;&#x4E0A;<br/>}<br/>&#x53EF;&#x4F5C;&#x4E3A;event&#x5BF9;&#x59D4;&#x6258;&#x7C7B;&#x578B;&#x53D8;&#x91CF;&#x8FDB;&#x884C;&#x4E86;&#x5C01;&#x88C5;&#x7684;&#x4F50;&#x8BC1;&#x3002;<br/>&#x4E8B;&#x4EF6;&#x548C;&#x59D4;&#x6258;&#x7684;&#x7F16;&#x8BD1;&#x4EE3;&#x7801;<br/>&#x8FD9;&#x65F6;&#x5019;&#xFF0C;&#x6211;&#x4EEC;&#x6CE8;&#x91CA;&#x6389;&#x7F16;&#x8BD1;&#x9519;&#x8BEF;&#x7684;&#x884C;&#xFF0C;&#x7136;&#x540E;&#x91CD;&#x65B0;&#x8FDB;&#x884C;&#x7F16;&#x8BD1;&#xFF0C;&#x518D;&#x501F;&#x52A9;Reflactor&#x6765;&#x5BF9; event&#x7684;&#x58F0;&#x660E;&#x8BED;&#x53E5;&#x505A;&#x4E00;&#x63A2;&#x7A76;&#xFF0C;&#x770B;&#x770B;&#x4E3A;&#x4EC0;&#x4E48;&#x4F1A;&#x53D1;&#x751F;&#x8FD9;&#x6837;&#x7684;&#x9519;&#x8BEF;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public event GreetingDelegate MakeGreet;<br/>&#x53EF;&#x4EE5;&#x770B;&#x5230;&#xFF0C;&#x5B9E;&#x9645;&#x4E0A;&#x5C3D;&#x7BA1;&#x6211;&#x4EEC;&#x5728;GreetingManager&#x91CC;&#x5C06; MakeGreet &#x58F0;&#x660E;&#x4E3A;public&#xFF0C;&#x4F46;&#x662F;&#xFF0C;&#x5B9E;&#x9645;&#x4E0A;MakeGreet&#x4F1A;&#x88AB;&#x7F16;&#x8BD1;&#x6210; &#x79C1;&#x6709;&#x5B57;&#x6BB5;&#xFF0C;&#x96BE;&#x602A;&#x4F1A;&#x53D1;&#x751F;&#x4E0A;&#x9762;&#x7684;&#x7F16;&#x8BD1;&#x9519;&#x8BEF;&#x4E86;&#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x6839;&#x672C;&#x5C31;&#x4E0D;&#x5141;&#x8BB8;&#x5728;GreetingManager&#x7C7B;&#x7684;&#x5916;&#x9762;&#x4EE5;&#x8D4B;&#x503C;&#x7684;&#x65B9;&#x5F0F;&#x8BBF;&#x95EE;&#xFF0C;&#x4ECE;&#x800C;&#x9A8C;&#x8BC1;&#x4E86;&#x6211;&#x4EEC;&#x4E0A;&#x9762;&#x6240;&#x505A;&#x7684;&#x63A8;&#x8BBA;&#x3002;<br/>&#x6211;&#x4EEC;&#x518D;&#x8FDB;&#x4E00;&#x6B65;&#x770B;&#x4E0B;MakeGreet&#x6240;&#x4EA7;&#x751F;&#x7684;&#x4EE3;&#x7801;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;private GreetingDelegate MakeGreet; //&#x5BF9;&#x4E8B;&#x4EF6;&#x7684;&#x58F0;&#x660E; &#x5B9E;&#x9645;&#x662F; &#x58F0;&#x660E;&#x4E00;&#x4E2A;&#x79C1;&#x6709;&#x7684;&#x59D4;&#x6258;&#x53D8;&#x91CF;<br/> <br/>[MethodImpl(MethodImplOptions.Synchronized)]<br/>public void add_MakeGreet(GreetingDelegate value){<br/>&nbsp;&nbsp;&nbsp;&nbsp;this.MakeGreet = (GreetingDelegate) Delegate.Combine(this.MakeGreet, value);<br/>}<br/>[MethodImpl(MethodImplOptions.Synchronized)]<br/>public void remove_MakeGreet(GreetingDelegate value){<br/>&nbsp;&nbsp;&nbsp;&nbsp;this.MakeGreet = (GreetingDelegate) Delegate.Remove(this.MakeGreet, value);<br/>}<br/>&#x73B0;&#x5728;&#x5DF2;&#x7ECF;&#x5F88;&#x660E;&#x786E;&#x4E86;&#xFF1A;MakeGreet&#x4E8B;&#x4EF6;&#x786E;&#x5B9E;&#x662F;&#x4E00;&#x4E2A;GreetingDelegate&#x7C7B;&#x578B;&#x7684;&#x59D4;&#x6258;&#xFF0C;&#x53EA;&#x4E0D;&#x8FC7;&#x4E0D;&#x7BA1;&#x662F;&#x4E0D;&#x662F;&#x58F0;&#x660E;&#x4E3A;public&#xFF0C;&#x5B83;&#x603B;&#x662F;&#x88AB;&#x58F0;&#x660E;&#x4E3A;private&#x3002;&#x53E6;&#x5916;&#xFF0C;&#x5B83;&#x8FD8;&#x6709;&#x4E24;&#x4E2A;&#x65B9;&#x6CD5;&#xFF0C;&#x5206;&#x522B;&#x662F;add_MakeGreet&#x548C;remove_MakeGreet&#xFF0C;&#x8FD9;&#x4E24;&#x4E2A;&#x65B9;&#x6CD5;&#x5206;&#x522B;&#x7528;&#x4E8E;&#x6CE8;&#x518C;&#x59D4;&#x6258;&#x7C7B;&#x578B;&#x7684;&#x65B9;&#x6CD5;&#x548C;&#x53D6;&#x6D88;&#x6CE8;&#x518C;&#x3002;&#x5B9E;&#x9645;&#x4E0A;&#x4E5F;&#x5C31;&#x662F;&#xFF1A; &#x201C;+= &#x201D;&#x5BF9;&#x5E94; add_MakeGreet&#xFF0C;&#x201C;-=&#x201D;&#x5BF9;&#x5E94;remove_MakeGreet&#x3002;&#x800C;&#x8FD9;&#x4E24;&#x4E2A;&#x65B9;&#x6CD5;&#x7684;&#x8BBF;&#x95EE;&#x9650;&#x5236;&#x53D6;&#x51B3;&#x4E8E;&#x58F0;&#x660E;&#x4E8B;&#x4EF6;&#x65F6;&#x7684;&#x8BBF;&#x95EE;&#x9650;&#x5236;&#x7B26;&#x3002;<br/>&#x5728;add_MakeGreet()&#x65B9;&#x6CD5;&#x5185;&#x90E8;&#xFF0C;&#x5B9E;&#x9645;&#x4E0A;&#x8C03;&#x7528;&#x4E86;System.Delegate&#x7684;Combine()&#x9759;&#x6001;&#x65B9;&#x6CD5;&#xFF0C;&#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#x7528;&#x4E8E;&#x5C06;&#x5F53;&#x524D;&#x7684;&#x53D8;&#x91CF;&#x6DFB;&#x52A0;&#x5230;&#x59D4;&#x6258;&#x94FE;&#x8868;&#x4E2D;&#x3002;&#x6211;&#x4EEC;&#x524D;&#x9762;&#x63D0;&#x5230;&#x8FC7;&#x4E24;&#x6B21;&#xFF0C;&#x8BF4;&#x59D4;&#x6258;&#x5B9E;&#x9645;&#x4E0A;&#x662F;&#x4E00;&#x4E2A;&#x7C7B;&#xFF0C;&#x5728;&#x6211;&#x4EEC;&#x5B9A;&#x4E49;&#x59D4;&#x6258;&#x7684;&#x65F6;&#x5019;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public delegate void GreetingDelegate(string name);<br/>&#x5F53;&#x7F16;&#x8BD1;&#x5668;&#x9047;&#x5230;&#x8FD9;&#x6BB5;&#x4EE3;&#x7801;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4F1A;&#x751F;&#x6210;&#x4E0B;&#x9762;&#x8FD9;&#x6837;&#x4E00;&#x4E2A;&#x5B8C;&#x6574;&#x7684;&#x7C7B;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public sealed class GreetingDelegate:System.MulticastDelegate{<br/>&nbsp;&nbsp;&nbsp;&nbsp;public GreetingDelegate(object @object, IntPtr method);<br/>&nbsp;&nbsp;&nbsp;&nbsp;public virtual IAsyncResult BeginInvoke(string name, AsyncCallback callback, object @object);<br/>&nbsp;&nbsp;&nbsp;&nbsp;public virtual void EndInvoke(IAsyncResult result);<br/>&nbsp;&nbsp;&nbsp;&nbsp;public virtual void Invoke(string name);<br/>}<br/>&#x5173;&#x4E8E;&#x8FD9;&#x4E2A;&#x7C7B;&#x7684;&#x66F4;&#x6DF1;&#x5165;&#x5185;&#x5BB9;&#xFF0C;&#x53EF;&#x4EE5;&#x53C2;&#x9605;&#x300A;CLR Via C#&#x300B;&#x7B49;&#x76F8;&#x5173;&#x4E66;&#x7C4D;&#xFF0C;&#x8FD9;&#x91CC;&#x5C31;&#x4E0D;&#x518D;&#x8BA8;&#x8BBA;&#x4E86;&#x3002;<br/>&#x59D4;&#x6258;&#x3001;&#x4E8B;&#x4EF6;&#x4E0E;Observer&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;<br/>&#x8303;&#x4F8B;&#x8BF4;&#x660E;<br/>&#x4E0A;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x5DF2;&#x4E0D;&#x8DB3;&#x4EE5;&#x518D;&#x8FDB;&#x884C;&#x4E0B;&#x9762;&#x7684;&#x8BB2;&#x89E3;&#x4E86;&#xFF0C;&#x6211;&#x4EEC;&#x6765;&#x770B;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x8303;&#x4F8B;&#xFF0C;&#x56E0;&#x4E3A;&#x4E4B;&#x524D;&#x5DF2;&#x7ECF;&#x4ECB;&#x7ECD;&#x4E86;&#x5F88;&#x591A;&#x7684;&#x5185;&#x5BB9;&#xFF0C;&#x6240;&#x4EE5;&#x672C;&#x8282;&#x7684;&#x8FDB;&#x5EA6;&#x4F1A;&#x7A0D;&#x5FAE;&#x5FEB;&#x4E00;&#x4E9B;&#xFF1A;<br/>&#x5047;&#x8BBE;&#x6211;&#x4EEC;&#x6709;&#x4E2A;&#x9AD8;&#x6863;&#x7684;&#x70ED;&#x6C34;&#x5668;&#xFF0C;&#x6211;&#x4EEC;&#x7ED9;&#x5B83;&#x901A;&#x4E0A;&#x7535;&#xFF0C;&#x5F53;&#x6C34;&#x6E29;&#x8D85;&#x8FC7;95&#x5EA6;&#x7684;&#x65F6;&#x5019;&#xFF1A;1&#x3001;&#x626C;&#x58F0;&#x5668;&#x4F1A;&#x5F00;&#x59CB;&#x53D1;&#x51FA;&#x8BED;&#x97F3;&#xFF0C;&#x544A;&#x8BC9;&#x4F60;&#x6C34;&#x7684;&#x6E29;&#x5EA6;&#xFF1B;2&#x3001;&#x6DB2;&#x6676;&#x5C4F;&#x4E5F;&#x4F1A;&#x6539;&#x53D8;&#x6C34;&#x6E29;&#x7684;&#x663E;&#x793A;&#xFF0C;&#x6765;&#x63D0;&#x793A;&#x6C34;&#x5DF2;&#x7ECF;&#x5FEB;&#x70E7;&#x5F00;&#x4E86;&#x3002;<br/>&#x73B0;&#x5728;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x5199;&#x4E2A;&#x7A0B;&#x5E8F;&#x6765;&#x6A21;&#x62DF;&#x8FD9;&#x4E2A;&#x70E7;&#x6C34;&#x7684;&#x8FC7;&#x7A0B;&#xFF0C;&#x6211;&#x4EEC;&#x5C06;&#x5B9A;&#x4E49;&#x4E00;&#x4E2A;&#x7C7B;&#x6765;&#x4EE3;&#x8868;&#x70ED;&#x6C34;&#x5668;&#xFF0C;&#x6211;&#x4EEC;&#x7BA1;&#x5B83;&#x53EB;&#xFF1A;Heater&#xFF0C;&#x5B83;&#x6709;&#x4EE3;&#x8868;&#x6C34;&#x6E29;&#x7684;&#x5B57;&#x6BB5;&#xFF0C;&#x53EB;&#x505A;temperature&#xFF1B;&#x5F53;&#x7136;&#xFF0C;&#x8FD8;&#x6709;&#x5FC5;&#x4E0D;&#x53EF;&#x5C11;&#x7684;&#x7ED9;&#x6C34;&#x52A0;&#x70ED;&#x65B9;&#x6CD5;BoilWater()&#xFF0C;&#x4E00;&#x4E2A;&#x53D1;&#x51FA;&#x8BED;&#x97F3;&#x8B66;&#x62A5;&#x7684;&#x65B9;&#x6CD5;MakeAlert()&#xFF0C;&#x4E00;&#x4E2A;&#x663E;&#x793A;&#x6C34;&#x6E29;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;ShowMsg()&#x3002;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;namespace Delegate {<br/>&nbsp;&nbsp;&nbsp;&nbsp;class Heater {<br/>&nbsp;&nbsp;&nbsp;&nbsp;private int temperature; // &#x6C34;&#x6E29;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x70E7;&#x6C34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public void BoilWater() {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt;= 100; i++) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temperature = i;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (temperature &gt; 95) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MakeAlert(temperature);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ShowMsg(temperature);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x53D1;&#x51FA;&#x8BED;&#x97F3;&#x8B66;&#x62A5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;private void MakeAlert(int param) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Alarm&#xFF1A;&#x5600;&#x5600;&#x5600;&#xFF0C;&#x6C34;&#x5DF2;&#x7ECF; {0} &#x5EA6;&#x4E86;&#xFF1A;&#34; , param);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x663E;&#x793A;&#x6C34;&#x6E29;<br/>&nbsp;&nbsp;&nbsp;&nbsp;private void ShowMsg(int param) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Display&#xFF1A;&#x6C34;&#x5FEB;&#x5F00;&#x4E86;&#xFF0C;&#x5F53;&#x524D;&#x6E29;&#x5EA6;&#xFF1A;{0}&#x5EA6;&#x3002;&#34; , param);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>class Program {<br/>&nbsp;&nbsp;&nbsp;&nbsp;static void Main() {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Heater ht = new Heater();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ht.BoilWater();<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>}<br/>Observer&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x7B80;&#x4ECB;<br/>&#x4E0A;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x663E;&#x7136;&#x80FD;&#x5B8C;&#x6210;&#x6211;&#x4EEC;&#x4E4B;&#x524D;&#x63CF;&#x8FF0;&#x7684;&#x5DE5;&#x4F5C;&#xFF0C;&#x4F46;&#x662F;&#x5374;&#x5E76;&#x4E0D;&#x591F;&#x597D;&#x3002;&#x73B0;&#x5728;&#x5047;&#x8BBE;&#x70ED;&#x6C34;&#x5668;&#x7531;&#x4E09;&#x90E8;&#x5206;&#x7EC4;&#x6210;&#xFF1A;&#x70ED;&#x6C34;&#x5668;&#x3001;&#x8B66;&#x62A5;&#x5668;&#x3001;&#x663E;&#x793A;&#x5668;&#xFF0C;&#x5B83;&#x4EEC;&#x6765;&#x81EA;&#x4E8E;&#x4E0D;&#x540C;&#x5382;&#x5546;&#x5E76;&#x8FDB;&#x884C;&#x4E86;&#x7EC4;&#x88C5;&#x3002;&#x90A3;&#x4E48;&#xFF0C;&#x5E94;&#x8BE5;&#x662F;&#x70ED;&#x6C34;&#x5668;&#x4EC5;&#x4EC5;&#x8D1F;&#x8D23;&#x70E7;&#x6C34;&#xFF0C;&#x5B83;&#x4E0D;&#x80FD;&#x53D1;&#x51FA;&#x8B66;&#x62A5;&#x4E5F;&#x4E0D;&#x80FD;&#x663E;&#x793A;&#x6C34;&#x6E29;&#xFF1B;&#x5728;&#x6C34;&#x70E7;&#x5F00;&#x65F6;&#x7531;&#x8B66;&#x62A5;&#x5668;&#x53D1;&#x51FA;&#x8B66;&#x62A5;&#x3001;&#x663E;&#x793A;&#x5668;&#x663E;&#x793A;&#x63D0;&#x793A;&#x548C;&#x6C34;&#x6E29;&#x3002;<br/>&#x8FD9;&#x65F6;&#x5019;&#xFF0C;&#x4E0A;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x5C31;&#x5E94;&#x8BE5;&#x53D8;&#x6210;&#x8FD9;&#x4E2A;&#x6837;&#x5B50;&#xFF1A;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;// &#x70ED;&#x6C34;&#x5668;<br/>public class Heater { <br/>&nbsp;&nbsp;&nbsp;&nbsp;private int temperature;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x70E7;&#x6C34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;private void BoilWater() {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt;= 100; i++) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temperature = i;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>// &#x8B66;&#x62A5;&#x5668;<br/>public class Alarm{<br/>&nbsp;&nbsp;&nbsp;&nbsp;private void MakeAlert(int param) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Alarm&#xFF1A;&#x5600;&#x5600;&#x5600;&#xFF0C;&#x6C34;&#x5DF2;&#x7ECF; {0} &#x5EA6;&#x4E86;&#xFF1A;&#34; , param);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>// &#x663E;&#x793A;&#x5668;<br/>public class Display{<br/>&nbsp;&nbsp;&nbsp;&nbsp;private void ShowMsg(int param) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Display&#xFF1A;&#x6C34;&#x5DF2;&#x70E7;&#x5F00;&#xFF0C;&#x5F53;&#x524D;&#x6E29;&#x5EA6;&#xFF1A;{0}&#x5EA6;&#x3002;&#34; , param);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x8FD9;&#x91CC;&#x5C31;&#x51FA;&#x73B0;&#x4E86;&#x4E00;&#x4E2A;&#x95EE;&#x9898;&#xFF1A;&#x5982;&#x4F55;&#x5728;&#x6C34;&#x70E7;&#x5F00;&#x7684;&#x65F6;&#x5019;&#x901A;&#x77E5;&#x62A5;&#x8B66;&#x5668;&#x548C;&#x663E;&#x793A;&#x5668;&#xFF1F;&#x5728;&#x7EE7;&#x7EED;&#x8FDB;&#x884C;&#x4E4B;&#x524D;&#xFF0C;&#x6211;&#x4EEC;&#x5148;&#x4E86;&#x89E3;&#x4E00;&#x4E0B;Observer&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#xFF0C;Observer&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x4E2D;&#x4E3B;&#x8981;&#x5305;&#x62EC;&#x5982;&#x4E0B;&#x4E24;&#x7C7B;&#x5BF9;&#x8C61;&#xFF1A;<br/>Subject&#xFF1A;&#x76D1;&#x89C6;&#x5BF9;&#x8C61;&#xFF0C;&#x5B83;&#x5F80;&#x5F80;&#x5305;&#x542B;&#x7740;&#x5176;&#x4ED6;&#x5BF9;&#x8C61;&#x6240;&#x611F;&#x5174;&#x8DA3;&#x7684;&#x5185;&#x5BB9;&#x3002;&#x5728;&#x672C;&#x8303;&#x4F8B;&#x4E2D;&#xFF0C;&#x70ED;&#x6C34;&#x5668;&#x5C31;&#x662F;&#x4E00;&#x4E2A;&#x76D1;&#x89C6;&#x5BF9;&#x8C61;&#xFF0C;&#x5B83;&#x5305;&#x542B;&#x7684;&#x5176;&#x4ED6;&#x5BF9;&#x8C61;&#x6240;&#x611F;&#x5174;&#x8DA3;&#x7684;&#x5185;&#x5BB9;&#xFF0C;&#x5C31;&#x662F;temprature&#x5B57;&#x6BB5;&#xFF0C;&#x5F53;&#x8FD9;&#x4E2A;&#x5B57;&#x6BB5;&#x7684;&#x503C;&#x5FEB;&#x5230;100&#x65F6;&#xFF0C;&#x4F1A;&#x4E0D;&#x65AD;&#x628A;&#x6570;&#x636E;&#x53D1;&#x7ED9;&#x76D1;&#x89C6;&#x5B83;&#x7684;&#x5BF9;&#x8C61;&#x3002; <br/>Observer&#xFF1A;&#x76D1;&#x89C6;&#x8005;&#xFF0C;&#x5B83;&#x76D1;&#x89C6;Subject&#xFF0C;&#x5F53;Subject&#x4E2D;&#x7684;&#x67D0;&#x4EF6;&#x4E8B;&#x53D1;&#x751F;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4F1A;&#x544A;&#x77E5;Observer&#xFF0C;&#x800C;Observer&#x5219;&#x4F1A;&#x91C7;&#x53D6;&#x76F8;&#x5E94;&#x7684;&#x884C;&#x52A8;&#x3002;&#x5728;&#x672C;&#x8303;&#x4F8B;&#x4E2D;&#xFF0C;Observer&#x6709;&#x8B66;&#x62A5;&#x5668;&#x548C;&#x663E;&#x793A;&#x5668;&#xFF0C;&#x5B83;&#x4EEC;&#x91C7;&#x53D6;&#x7684;&#x884C;&#x52A8;&#x5206;&#x522B;&#x662F;&#x53D1;&#x51FA;&#x8B66;&#x62A5;&#x548C;&#x663E;&#x793A;&#x6C34;&#x6E29;&#x3002; <br/>&#x5728;&#x672C;&#x4F8B;&#x4E2D;&#xFF0C;&#x4E8B;&#x60C5;&#x53D1;&#x751F;&#x7684;&#x987A;&#x5E8F;&#x5E94;&#x8BE5;&#x662F;&#x8FD9;&#x6837;&#x7684;&#xFF1A;<br/>&#x8B66;&#x62A5;&#x5668;&#x548C;&#x663E;&#x793A;&#x5668;&#x544A;&#x8BC9;&#x70ED;&#x6C34;&#x5668;&#xFF0C;&#x5B83;&#x5BF9;&#x5B83;&#x7684;&#x6E29;&#x5EA6;&#x6BD4;&#x8F83;&#x611F;&#x5174;&#x8DA3;(&#x6CE8;&#x518C;)&#x3002; <br/>&#x70ED;&#x6C34;&#x5668;&#x77E5;&#x9053;&#x540E;&#x4FDD;&#x7559;&#x5BF9;&#x8B66;&#x62A5;&#x5668;&#x548C;&#x663E;&#x793A;&#x5668;&#x7684;&#x5F15;&#x7528;&#x3002; <br/>&#x70ED;&#x6C34;&#x5668;&#x8FDB;&#x884C;&#x70E7;&#x6C34;&#x8FD9;&#x4E00;&#x52A8;&#x4F5C;&#xFF0C;&#x5F53;&#x6C34;&#x6E29;&#x8D85;&#x8FC7;95&#x5EA6;&#x65F6;&#xFF0C;&#x901A;&#x8FC7;&#x5BF9;&#x8B66;&#x62A5;&#x5668;&#x548C;&#x663E;&#x793A;&#x5668;&#x7684;&#x5F15;&#x7528;&#xFF0C;&#x81EA;&#x52A8;&#x8C03;&#x7528;&#x8B66;&#x62A5;&#x5668;&#x7684;MakeAlert()&#x65B9;&#x6CD5;&#x3001;&#x663E;&#x793A;&#x5668;&#x7684;ShowMsg()&#x65B9;&#x6CD5;&#x3002; <br/>&#x7C7B;&#x4F3C;&#x8FD9;&#x6837;&#x7684;&#x4F8B;&#x5B50;&#x662F;&#x5F88;&#x591A;&#x7684;&#xFF0C;GOF&#x5BF9;&#x5B83;&#x8FDB;&#x884C;&#x4E86;&#x62BD;&#x8C61;&#xFF0C;&#x79F0;&#x4E3A;Observer&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#xFF1A;Observer&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x662F;&#x4E3A;&#x4E86;&#x5B9A;&#x4E49;&#x5BF9;&#x8C61;&#x95F4;&#x7684;&#x4E00;&#x79CD;&#x4E00;&#x5BF9;&#x591A;&#x7684;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#xFF0C;&#x4EE5;&#x4FBF;&#x4E8E;&#x5F53;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x7684;&#x72B6;&#x6001;&#x6539;&#x53D8;&#x65F6;&#xFF0C;&#x5176;&#x4ED6;&#x4F9D;&#x8D56;&#x4E8E;&#x5B83;&#x7684;&#x5BF9;&#x8C61;&#x4F1A;&#x88AB;&#x81EA;&#x52A8;&#x544A;&#x77E5;&#x5E76;&#x66F4;&#x65B0;&#x3002;Observer&#x6A21;&#x5F0F;&#x662F;&#x4E00;&#x79CD;&#x677E;&#x8026;&#x5408;&#x7684;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x3002;<br/>&#x5B9E;&#x73B0;&#x8303;&#x4F8B;&#x7684;Observer&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;<br/>&#x6211;&#x4EEC;&#x4E4B;&#x524D;&#x5DF2;&#x7ECF;&#x5BF9;&#x59D4;&#x6258;&#x548C;&#x4E8B;&#x4EF6;&#x4ECB;&#x7ECD;&#x5F88;&#x591A;&#x4E86;&#xFF0C;&#x73B0;&#x5728;&#x5199;&#x4EE3;&#x7801;&#x5E94;&#x8BE5;&#x5F88;&#x5BB9;&#x6613;&#x4E86;&#xFF0C;&#x73B0;&#x5728;&#x5728;&#x8FD9;&#x91CC;&#x76F4;&#x63A5;&#x7ED9;&#x51FA;&#x4EE3;&#x7801;&#xFF0C;&#x5E76;&#x5728;&#x6CE8;&#x91CA;&#x4E2D;&#x52A0;&#x4EE5;&#x8BF4;&#x660E;&#x3002;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;using System;<br/>using System.Collections.Generic;<br/>using System.Text;<br/>namespace Delegate {<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x70ED;&#x6C34;&#x5668;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public class Heater {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private int temperature;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public delegate void BoilHandler(int param);&nbsp;&nbsp; //&#x58F0;&#x660E;&#x59D4;&#x6258;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public event BoilHandler BoilEvent;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#x58F0;&#x660E;&#x4E8B;&#x4EF6;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // &#x70E7;&#x6C34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void BoilWater() {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt;= 100; i++) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temperature = i;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (temperature &gt; 95) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (BoilEvent != null) { //&#x5982;&#x679C;&#x6709;&#x5BF9;&#x8C61;&#x6CE8;&#x518C;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BoilEvent(temperature);&nbsp;&nbsp;//&#x8C03;&#x7528;&#x6240;&#x6709;&#x6CE8;&#x518C;&#x5BF9;&#x8C61;&#x7684;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x8B66;&#x62A5;&#x5668;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public class Alarm {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void MakeAlert(int param) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Alarm&#xFF1A;&#x5600;&#x5600;&#x5600;&#xFF0C;&#x6C34;&#x5DF2;&#x7ECF; {0} &#x5EA6;&#x4E86;&#xFF1A;&#34;, param);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x663E;&#x793A;&#x5668;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public class Display {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void ShowMsg(int param) { //&#x9759;&#x6001;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Display&#xFF1A;&#x6C34;&#x5FEB;&#x70E7;&#x5F00;&#x4E86;&#xFF0C;&#x5F53;&#x524D;&#x6E29;&#x5EA6;&#xFF1A;{0}&#x5EA6;&#x3002;&#34;, param);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;class Program {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main() {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Heater heater = new Heater();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alarm alarm = new Alarm();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; heater.BoilEvent += alarm.MakeAlert;&nbsp;&nbsp;&nbsp;&nbsp;//&#x6CE8;&#x518C;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; heater.BoilEvent += (new Alarm()).MakeAlert;&nbsp;&nbsp; //&#x7ED9;&#x533F;&#x540D;&#x5BF9;&#x8C61;&#x6CE8;&#x518C;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; heater.BoilEvent += Display.ShowMsg;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&#x6CE8;&#x518C;&#x9759;&#x6001;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; heater.BoilWater();&nbsp;&nbsp; //&#x70E7;&#x6C34;&#xFF0C;&#x4F1A;&#x81EA;&#x52A8;&#x8C03;&#x7528;&#x6CE8;&#x518C;&#x8FC7;&#x5BF9;&#x8C61;&#x7684;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x8F93;&#x51FA;&#x4E3A;&#xFF1A;<br/>Alarm&#xFF1A;&#x5600;&#x5600;&#x5600;&#xFF0C;&#x6C34;&#x5DF2;&#x7ECF; 96 &#x5EA6;&#x4E86;&#xFF1A;<br/>Alarm&#xFF1A;&#x5600;&#x5600;&#x5600;&#xFF0C;&#x6C34;&#x5DF2;&#x7ECF; 96 &#x5EA6;&#x4E86;&#xFF1A;<br/>Display&#xFF1A;&#x6C34;&#x5FEB;&#x70E7;&#x5F00;&#x4E86;&#xFF0C;&#x5F53;&#x524D;&#x6E29;&#x5EA6;&#xFF1A;96&#x5EA6;&#x3002;<br/>// &#x7701;&#x7565;...<br/>.Net Framework&#x4E2D;&#x7684;&#x59D4;&#x6258;&#x4E0E;&#x4E8B;&#x4EF6;<br/>&#x5C3D;&#x7BA1;&#x4E0A;&#x9762;&#x7684;&#x8303;&#x4F8B;&#x5F88;&#x597D;&#x5730;&#x5B8C;&#x6210;&#x4E86;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x5B8C;&#x6210;&#x7684;&#x5DE5;&#x4F5C;&#xFF0C;&#x4F46;&#x662F;&#x6211;&#x4EEC;&#x4E0D;&#x4EC5;&#x7591;&#x60D1;&#xFF1A;&#x4E3A;&#x4EC0;&#x4E48;.Net Framework &#x4E2D;&#x7684;&#x4E8B;&#x4EF6;&#x6A21;&#x578B;&#x548C;&#x4E0A;&#x9762;&#x7684;&#x4E0D;&#x540C;&#xFF1F;&#x4E3A;&#x4EC0;&#x4E48;&#x6709;&#x5F88;&#x591A;&#x7684;EventArgs&#x53C2;&#x6570;&#xFF1F;<br/>&#x5728;&#x56DE;&#x7B54;&#x4E0A;&#x9762;&#x7684;&#x95EE;&#x9898;&#x4E4B;&#x524D;&#xFF0C;&#x6211;&#x4EEC;&#x5148;&#x641E;&#x61C2; .Net Framework&#x7684;&#x7F16;&#x7801;&#x89C4;&#x8303;&#xFF1A;<br/>&#xB7;&#x59D4;&#x6258;&#x7C7B;&#x578B;&#x7684;&#x540D;&#x79F0;&#x90FD;&#x5E94;&#x8BE5;&#x4EE5;EventHandler&#x7ED3;&#x675F;&#x3002; <br/>&#xB7;&#x59D4;&#x6258;&#x7684;&#x539F;&#x578B;&#x5B9A;&#x4E49;&#xFF1A;&#x6709;&#x4E00;&#x4E2A;void&#x8FD4;&#x56DE;&#x503C;&#xFF0C;&#x5E76;&#x63A5;&#x53D7;&#x4E24;&#x4E2A;&#x8F93;&#x5165;&#x53C2;&#x6570;&#xFF1A;&#x4E00;&#x4E2A;Object &#x7C7B;&#x578B;&#xFF0C;&#x4E00;&#x4E2A; EventArgs&#x7C7B;&#x578B;(&#x6216;&#x7EE7;&#x627F;&#x81EA;EventArgs)&#x3002; <br/>&#xB7;&#x4E8B;&#x4EF6;&#x7684;&#x547D;&#x540D;&#x4E3A; &#x59D4;&#x6258;&#x53BB;&#x6389; EventHandler&#x4E4B;&#x540E;&#x5269;&#x4F59;&#x7684;&#x90E8;&#x5206;&#x3002; <br/>&#xB7;&#x7EE7;&#x627F;&#x81EA;EventArgs&#x7684;&#x7C7B;&#x578B;&#x5E94;&#x8BE5;&#x4EE5;EventArgs&#x7ED3;&#x5C3E;&#x3002; <br/>&#x518D;&#x505A;&#x4E00;&#x4E0B;&#x8BF4;&#x660E;&#xFF1A;<br/>1.&#x59D4;&#x6258;&#x58F0;&#x660E;&#x539F;&#x578B;&#x4E2D;&#x7684;Object&#x7C7B;&#x578B;&#x7684;&#x53C2;&#x6570;&#x4EE3;&#x8868;&#x4E86;Subject&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x76D1;&#x89C6;&#x5BF9;&#x8C61;&#xFF0C;&#x5728;&#x672C;&#x4F8B;&#x4E2D;&#x662F; Heater(&#x70ED;&#x6C34;&#x5668;)&#x3002;&#x56DE;&#x8C03;&#x51FD;&#x6570;(&#x6BD4;&#x5982;Alarm&#x7684;MakeAlert)&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x5B83;&#x8BBF;&#x95EE;&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;&#x7684;&#x5BF9;&#x8C61;(Heater)&#x3002; <br/>2.EventArgs &#x5BF9;&#x8C61;&#x5305;&#x542B;&#x4E86;Observer&#x6240;&#x611F;&#x5174;&#x8DA3;&#x7684;&#x6570;&#x636E;&#xFF0C;&#x5728;&#x672C;&#x4F8B;&#x4E2D;&#x662F;temperature&#x3002; <br/>&#x4E0A;&#x9762;&#x8FD9;&#x4E9B;&#x5176;&#x5B9E;&#x4E0D;&#x4EC5;&#x4EC5;&#x662F;&#x4E3A;&#x4E86;&#x7F16;&#x7801;&#x89C4;&#x8303;&#x800C;&#x5DF2;&#xFF0C;&#x8FD9;&#x6837;&#x4E5F;&#x4F7F;&#x5F97;&#x7A0B;&#x5E8F;&#x6709;&#x66F4;&#x5927;&#x7684;&#x7075;&#x6D3B;&#x6027;&#x3002;&#x6BD4;&#x5982;&#x8BF4;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x4E0D;&#x5149;&#x60F3;&#x83B7;&#x5F97;&#x70ED;&#x6C34;&#x5668;&#x7684;&#x6E29;&#x5EA6;&#xFF0C;&#x8FD8;&#x60F3;&#x5728;Observer&#x7AEF;(&#x8B66;&#x62A5;&#x5668;&#x6216;&#x8005;&#x663E;&#x793A;&#x5668;)&#x65B9;&#x6CD5;&#x4E2D;&#x83B7;&#x5F97;&#x5B83;&#x7684;&#x751F;&#x4EA7;&#x65E5;&#x671F;&#x3001;&#x578B;&#x53F7;&#x3001;&#x4EF7;&#x683C;&#xFF0C;&#x90A3;&#x4E48;&#x59D4;&#x6258;&#x548C;&#x65B9;&#x6CD5;&#x7684;&#x58F0;&#x660E;&#x90FD;&#x4F1A;&#x53D8;&#x5F97;&#x5F88;&#x9EBB;&#x70E6;&#xFF0C;&#x800C;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x5C06;&#x70ED;&#x6C34;&#x5668;&#x7684;&#x5F15;&#x7528;&#x4F20;&#x7ED9;&#x8B66;&#x62A5;&#x5668;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x5C31;&#x53EF;&#x4EE5;&#x5728;&#x65B9;&#x6CD5;&#x4E2D;&#x76F4;&#x63A5;&#x8BBF;&#x95EE;&#x70ED;&#x6C34;&#x5668;&#x4E86;&#x3002;<br/>&#x73B0;&#x5728;&#x6211;&#x4EEC;&#x6539;&#x5199;&#x4E4B;&#x524D;&#x7684;&#x8303;&#x4F8B;&#xFF0C;&#x8BA9;&#x5B83;&#x7B26;&#x5408; .Net Framework &#x7684;&#x89C4;&#x8303;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;using System;<br/>using System.Collections.Generic;<br/>using System.Text;<br/>namespace Delegate {<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x70ED;&#x6C34;&#x5668;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public class Heater {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private int temperature;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string type = &#34;RealFire 001&#34;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // &#x6DFB;&#x52A0;&#x578B;&#x53F7;&#x4F5C;&#x4E3A;&#x6F14;&#x793A;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string area = &#34;China Xian&#34;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // &#x6DFB;&#x52A0;&#x4EA7;&#x5730;&#x4F5C;&#x4E3A;&#x6F14;&#x793A;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&#x58F0;&#x660E;&#x59D4;&#x6258;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public delegate void BoiledEventHandler(Object sender, BoiledEventArgs e);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public event BoiledEventHandler Boiled; //&#x58F0;&#x660E;&#x4E8B;&#x4EF6;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // &#x5B9A;&#x4E49;BoiledEventArgs&#x7C7B;&#xFF0C;&#x4F20;&#x9012;&#x7ED9;Observer&#x6240;&#x611F;&#x5174;&#x8DA3;&#x7684;&#x4FE1;&#x606F;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class BoiledEventArgs : EventArgs {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public readonly int temperature;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public BoiledEventArgs(int temperature) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.temperature = temperature;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // &#x53EF;&#x4EE5;&#x4F9B;&#x7EE7;&#x627F;&#x81EA; Heater &#x7684;&#x7C7B;&#x91CD;&#x5199;&#xFF0C;&#x4EE5;&#x4FBF;&#x7EE7;&#x627F;&#x7C7B;&#x62D2;&#x7EDD;&#x5176;&#x4ED6;&#x5BF9;&#x8C61;&#x5BF9;&#x5B83;&#x7684;&#x76D1;&#x89C6;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected virtual void OnBoiled(BoiledEventArgs e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (Boiled != null) { // &#x5982;&#x679C;&#x6709;&#x5BF9;&#x8C61;&#x6CE8;&#x518C;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Boiled(this, e);&nbsp;&nbsp;// &#x8C03;&#x7528;&#x6240;&#x6709;&#x6CE8;&#x518C;&#x5BF9;&#x8C61;&#x7684;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // &#x70E7;&#x6C34;&#x3002;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void BoilWater() {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt;= 100; i++) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temperature = i;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (temperature &gt; 95) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#x5EFA;&#x7ACB;BoiledEventArgs &#x5BF9;&#x8C61;&#x3002;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BoiledEventArgs e = new BoiledEventArgs(temperature);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OnBoiled(e);&nbsp;&nbsp;// &#x8C03;&#x7528; OnBolied&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x8B66;&#x62A5;&#x5668;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public class Alarm {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void MakeAlert(Object sender, Heater.BoiledEventArgs e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Heater heater = (Heater)sender;&nbsp;&nbsp;&nbsp;&nbsp; //&#x8FD9;&#x91CC;&#x662F;&#x4E0D;&#x662F;&#x5F88;&#x719F;&#x6089;&#x5462;&#xFF1F;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&#x8BBF;&#x95EE; sender &#x4E2D;&#x7684;&#x516C;&#x5171;&#x5B57;&#x6BB5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Alarm&#xFF1A;{0} - {1}: &#34;, heater.area, heater.type);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Alarm: &#x5600;&#x5600;&#x5600;&#xFF0C;&#x6C34;&#x5DF2;&#x7ECF; {0} &#x5EA6;&#x4E86;&#xFF1A;&#34;, e.temperature);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;// &#x663E;&#x793A;&#x5668;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public class Display {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void ShowMsg(Object sender, Heater.BoiledEventArgs e) {&nbsp;&nbsp; //&#x9759;&#x6001;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Heater heater = (Heater)sender;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Display&#xFF1A;{0} - {1}: &#34;, heater.area, heater.type);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&#34;Display&#xFF1A;&#x6C34;&#x5FEB;&#x70E7;&#x5F00;&#x4E86;&#xFF0C;&#x5F53;&#x524D;&#x6E29;&#x5EA6;&#xFF1A;{0}&#x5EA6;&#x3002;&#34;, e.temperature);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;class Program {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main() {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Heater heater = new Heater();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alarm alarm = new Alarm();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; heater.Boiled += alarm.MakeAlert;&nbsp;&nbsp; //&#x6CE8;&#x518C;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; heater.Boiled += (new Alarm()).MakeAlert;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#x7ED9;&#x533F;&#x540D;&#x5BF9;&#x8C61;&#x6CE8;&#x518C;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; heater.Boiled += new Heater.BoiledEventHandler(alarm.MakeAlert);&nbsp;&nbsp;&nbsp;&nbsp;//&#x4E5F;&#x53EF;&#x4EE5;&#x8FD9;&#x4E48;&#x6CE8;&#x518C;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; heater.Boiled += Display.ShowMsg;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&#x6CE8;&#x518C;&#x9759;&#x6001;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; heater.BoilWater();&nbsp;&nbsp; //&#x70E7;&#x6C34;&#xFF0C;&#x4F1A;&#x81EA;&#x52A8;&#x8C03;&#x7528;&#x6CE8;&#x518C;&#x8FC7;&#x5BF9;&#x8C61;&#x7684;&#x65B9;&#x6CD5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x8F93;&#x51FA;&#x4E3A;&#xFF1A;<br/>Alarm&#xFF1A;China Xian - RealFire 001:<br/>Alarm: &#x5600;&#x5600;&#x5600;&#xFF0C;&#x6C34;&#x5DF2;&#x7ECF; 96 &#x5EA6;&#x4E86;&#xFF1A;<br/>Alarm&#xFF1A;China Xian - RealFire 001:<br/>Alarm: &#x5600;&#x5600;&#x5600;&#xFF0C;&#x6C34;&#x5DF2;&#x7ECF; 96 &#x5EA6;&#x4E86;&#xFF1A;<br/>Alarm&#xFF1A;China Xian - RealFire 001:<br/>Alarm: &#x5600;&#x5600;&#x5600;&#xFF0C;&#x6C34;&#x5DF2;&#x7ECF; 96 &#x5EA6;&#x4E86;&#xFF1A;<br/>Display&#xFF1A;China Xian - RealFire 001:<br/>Display&#xFF1A;&#x6C34;&#x5FEB;&#x70E7;&#x5F00;&#x4E86;&#xFF0C;&#x5F53;&#x524D;&#x6E29;&#x5EA6;&#xFF1A;96&#x5EA6;&#x3002;<br/>// &#x7701;&#x7565; ...<br/>&#x603B;&#x7ED3;<br/>&#x5728;&#x672C;&#x6587;&#x4E2D;&#x6211;&#x9996;&#x5148;&#x901A;&#x8FC7;&#x4E00;&#x4E2A;GreetingPeople&#x7684;&#x5C0F;&#x7A0B;&#x5E8F;&#x5411;&#x5927;&#x5BB6;&#x4ECB;&#x7ECD;&#x4E86;&#x59D4;&#x6258;&#x7684;&#x6982;&#x5FF5;&#x3001;&#x59D4;&#x6258;&#x7528;&#x6765;&#x505A;&#x4EC0;&#x4E48;&#xFF0C;&#x968F;&#x540E;&#x53C8;&#x5F15;&#x51FA;&#x4E86;&#x4E8B;&#x4EF6;&#xFF0C;&#x63A5;&#x7740;&#x5BF9;&#x59D4;&#x6258;&#x4E0E;&#x4E8B;&#x4EF6;&#x6240;&#x4EA7;&#x751F;&#x7684;&#x4E2D;&#x95F4;&#x4EE3;&#x7801;&#x505A;&#x4E86;&#x7C97;&#x7565;&#x7684;&#x8BB2;&#x8FF0;&#x3002;<br/>&#x5728;&#x7B2C;&#x4E8C;&#x4E2A;&#x7A0D;&#x5FAE;&#x590D;&#x6742;&#x70B9;&#x7684;&#x70ED;&#x6C34;&#x5668;&#x7684;&#x8303;&#x4F8B;&#x4E2D;&#xFF0C;&#x6211;&#x5411;&#x5927;&#x5BB6;&#x7B80;&#x8981;&#x4ECB;&#x7ECD;&#x4E86; Observer&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#xFF0C;&#x5E76;&#x901A;&#x8FC7;&#x5B9E;&#x73B0;&#x8FD9;&#x4E2A;&#x8303;&#x4F8B;&#x5B8C;&#x6210;&#x4E86;&#x8BE5;&#x6A21;&#x5F0F;&#xFF0C;&#x968F;&#x540E;&#x8BB2;&#x8FF0;&#x4E86;.Net Framework&#x4E2D;&#x59D4;&#x6258;&#x3001;&#x4E8B;&#x4EF6;&#x7684;&#x5B9E;&#x73B0;&#x65B9;&#x5F0F;&#x3002;<br/>&#x5E0C;&#x671B;&#x8FD9;&#x7BC7;&#x6587;&#x7AE0;&#x80FD;&#x7ED9;&#x4F60;&#x5E26;&#x6765;&#x5E2E;&#x52A9;&#x3002;</p><p> + <a href="#CommentCard">&#x67E5;&#x770B;&#x5F53;&#x524D;&#x65E5;&#x5FD7;&#x8BC4;&#x8BBA;</a> (0)</p><p>&nbsp;<br/><br/><a href="wap.asp?do=Login">&#x767B;&#x5F55;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.312&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x43;&#x23;&#x20;&#x4E2D;&#x7684;&#x59D4;&#x6258;&#x548C;&#x4E8B;&#x4EF6;</a></p><p><br/>你没有权限发表评论</p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.312&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="CommentCard"><p>&#x6682;&#x65E0;&#x8BC4;&#x8BBA;</p><p><a href="#MainCard">&#x8FD4;&#x56DE;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.312&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
