版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C#程序設(shè)計(jì)案例教程程序設(shè)計(jì)案例教程第第11章章 委托與事件委托與事件 第第11章章 委托與事件委托與事件 學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)了解委托的類型。了解委托的類型。掌握委托的聲明和使用。掌握委托的聲明和使用。掌握事件的定義和引發(fā)。掌握事件的定義和引發(fā)。第第11章章 委托與事件委托與事件 11.1 使用委托使用委托【課堂案例課堂案例11-1】閱讀下面的程序,了解委托的使用并閱讀下面的程序,了解委托的使用并預(yù)測程序的輸出結(jié)果。預(yù)測程序的輸出結(jié)果。Public delegate void GreetingDelegate(string name);Class Test public void English
2、Greeting(string name) Console.WriteLine(“Morning, ” + name); public void ChineseGreeting(string name) Console.WriteLine(“早上好,早上好, ” + name); Class Program static void Main(string args) Test test = new Test(); GreetingDelegate delegate1 = new GreetingDelegate(test.EnglishGreeting); GreetingDelegate d
3、elegate2 = new GreetingDelegate(test.ChineseGreeting); delegate1(“XiaoMing”); delegate2(“小明小明”); 第第11章章 委托與事件委托與事件 【案例學(xué)習(xí)目標(biāo)案例學(xué)習(xí)目標(biāo)】了解委托的聲明。了解委托的聲明。了解委托的使用。了解委托的使用?!景咐R(shí)要點(diǎn)案例知識(shí)要點(diǎn)】聲明委托和使用委托。聲明委托和使用委托?!景咐瓿刹襟E案例完成步驟】(1)初步認(rèn)識(shí)委托。)初步認(rèn)識(shí)委托。(2)預(yù)測程序的輸出結(jié)果。)預(yù)測程序的輸出結(jié)果。第第11章章 委托與事件委托與事件 11.1.1 初步初步認(rèn)識(shí)委托認(rèn)識(shí)委托 什么是委托?委托又稱“
4、代表”、“指代”。委托是一種特殊的數(shù)據(jù)類型,派生于System.Delegate類。委托對(duì)象主要用于保存方法的引用。 在面向?qū)ο蟪绦蛟O(shè)計(jì)中,有時(shí)我們并不想直接調(diào)用一個(gè)方法,而是希望能夠?qū)⑺鳛閰?shù)傳遞給其他方法,即不直接使用方法名來調(diào)用方法體。在C#中,采用委托就能實(shí)現(xiàn)該功能。一旦為委托分配了方法,委托將與該方法具有完全相同的行為。委托方法的使用可以像其他任何方法一樣,具有參數(shù)和返回值。 第第11章章 委托與事件委托與事件 1.聲明委托在C#中要使用委托,需要先定義委托,然后再創(chuàng)建該委托的一個(gè)或多個(gè)實(shí)例。委托的定義格式如下:訪問修飾符 delegate (形式列表參數(shù));其中:(1)返回類型:
5、是指委托所指向方法的返回值的類型。委托的返回類型必須與委托所指向的方法的返回類型一致,才能成功使用該委托。(2)形參列表:用于指出委托所指向方法的參數(shù)列表,這個(gè)列表必須與委托所指向方法的參數(shù)列表中的參數(shù)個(gè)數(shù)及其參數(shù)類型一致,包括形參的順序、個(gè)數(shù)和類型。第第11章章 委托與事件委托與事件 例如:public delegate void MyDelegate(int a) ; /聲明委托在課堂案例11-1給出的代碼段中,第3行聲明了一個(gè)名為GreetingDelegate的委托。根據(jù)委托的意義,我們知道該類型的委托只能指向那些和聲明委托中具有相同參數(shù)列表及返回值類型的方法。說明:說明:(1)由于委
6、托類型定義是定義一種新的類型,所以可以寫在類的外部,也可以寫在)由于委托類型定義是定義一種新的類型,所以可以寫在類的外部,也可以寫在類的內(nèi)部。若在類的內(nèi)部定義,則類型為類的內(nèi)部。若在類的內(nèi)部定義,則類型為“類名類名.委托名委托名”(2)指定的訪問修飾符對(duì)定義的委托對(duì)象有限制作用,應(yīng)與委托對(duì)象的訪問權(quán)限一)指定的訪問修飾符對(duì)定義的委托對(duì)象有限制作用,應(yīng)與委托對(duì)象的訪問權(quán)限一致或高于委托對(duì)象的訪問權(quán)限,在類的外部定義只能是致或高于委托對(duì)象的訪問權(quán)限,在類的外部定義只能是public或或internal,當(dāng)不寫時(shí),當(dāng)不寫時(shí),默認(rèn)為默認(rèn)為internal。第第11章章 委托與事件委托與事件 2.使用委
7、托使用委托的目的是通過委托對(duì)象來保存方法的引用,使得可以不必顯式地給出方法名就能調(diào)用并執(zhí)行方法體中的程序段。委托的使用可以分成如下幾點(diǎn)實(shí)現(xiàn):(1)聲明一個(gè)delegate對(duì)象,它與要傳遞的方法具有相同的參數(shù)類型和返回值類型。(2)創(chuàng)建delegate對(duì)象,并將要傳遞的函數(shù)作為參數(shù)傳入。創(chuàng)建delegate對(duì)象的格式如下: = new ();第第11章章 委托與事件委托與事件 通知分析課堂案例11-1的代碼段可知,程序的第2022行分別創(chuàng)建了名為delegate1和delegate2的delegate類型對(duì)象。其中,delegate1指向test對(duì)象的EnglishGreeting方法成員,de
8、legate2則指向ChineseGreeting方法成員。/定義delegate1對(duì)象GreetingDelegate delegate1 = new GreetingDelegate(test.EnglishGreeting);/定義delegate2對(duì)象GreetingDelegate delegate2 = new GreetingDelegate(test.ChineseGreeting);說明:說明:(1)創(chuàng)建委托對(duì)象時(shí),訪問修飾符受委托類型的限制應(yīng)與委托類型訪問權(quán)限一致或)創(chuàng)建委托對(duì)象時(shí),訪問修飾符受委托類型的限制應(yīng)與委托類型訪問權(quán)限一致或低于委托類型的訪問權(quán)限。低于委托類型的訪
9、問權(quán)限。(2)委托對(duì)象的定義可以放在類的內(nèi)部,作為類的數(shù)據(jù)成員,也可以在方法內(nèi)定義,)委托對(duì)象的定義可以放在類的內(nèi)部,作為類的數(shù)據(jù)成員,也可以在方法內(nèi)定義,作為方法的局部變量。作為方法的局部變量。(3)委托對(duì)象的定義與其他引用類型對(duì)象定義的格式基本相同。)委托對(duì)象的定義與其他引用類型對(duì)象定義的格式基本相同。(4)參數(shù)可以是某一方法名,也可以是另一個(gè)同類型委托對(duì)象,封裝方法只寫方法名。)參數(shù)可以是某一方法名,也可以是另一個(gè)同類型委托對(duì)象,封裝方法只寫方法名。第第11章章 委托與事件委托與事件 11.1.2 預(yù)測程序的輸出預(yù)測程序的輸出 根據(jù)對(duì)根據(jù)對(duì)課堂案例課堂案例11-1的分析,程序的輸出結(jié)果為
10、:的分析,程序的輸出結(jié)果為:Morning,XiaoMing早上好,小明早上好,小明第第11章章 委托與事件委托與事件 課堂實(shí)踐課堂實(shí)踐11-1預(yù)測下面程序的輸出結(jié)果。預(yù)測下面程序的輸出結(jié)果。Delegate int MyDelegate(string x); /定義一個(gè)代理定義一個(gè)代理Public class MyClass /定義一個(gè)類定義一個(gè)類 public static int StaticMethod(string x) /靜態(tài)方法靜態(tài)方法 Console.WriteLine(“類的靜態(tài)方法:類的靜態(tài)方法:0”,x); return 0; public int InstanceMet
11、hod(string x) /實(shí)例方法實(shí)例方法 Console.WriteLine(“類的實(shí)例方法:類的實(shí)例方法:0”,x); return 0; Public class App public static void Mina() public static void Main() MyClass c = new MyClass(); /創(chuàng)建一個(gè)類創(chuàng)建一個(gè)類MyClass的對(duì)象的對(duì)象 /創(chuàng)建代理對(duì)象創(chuàng)建代理對(duì)象d1,調(diào)用實(shí)例方法調(diào)用實(shí)例方法 MyDelegate d1 =new MyDelegate(c.INstanceMethod); /創(chuàng)建代理對(duì)象創(chuàng)建代理對(duì)象d2,調(diào)用靜態(tài)方法調(diào)用靜態(tài)方
12、法 MyDelegate d2 = new MyDelegate(MyClass.StaticMehtod); d1(“this is a dog”); d2(“this is a cat”); 第第11章章 委托與事件委托與事件 11.2 多路廣播委托多路廣播委托【課堂案例課堂案例11-2】閱讀下面的程序,識(shí)別委托的類型并閱讀下面的程序,識(shí)別委托的類型并預(yù)測程序的輸出結(jié)果預(yù)測程序的輸出結(jié)果。/定義委托,它定義了可以代表的方法類型定義委托,它定義了可以代表的方法類型Public delegate void GreetingDelegate(string name);Class Test pub
13、lic void EnglishGreeting(string name) Console.WriteLine(“Morning, ” + name); public void ChineseGreeting(string name) Console.WriteLine(“早上好,早上好,” + name); Class Program static void Main(string args) Test test = new Test (); GreetingDelegate delegate1 = new GreetingDelegate(test.EnglishGreeting); de
14、legate1+=test.ChineseGreeting; delegate1(“XiaoMing”); Console.WriteLine(); delegate1-=test.EnglishGreeting; delegate1(“小明小明”); 第第11章章 委托與事件委托與事件 【案例學(xué)習(xí)目標(biāo)案例學(xué)習(xí)目標(biāo)】了解多路廣播委托的特點(diǎn)。了解多路廣播委托的特點(diǎn)?!景咐R(shí)要點(diǎn)案例知識(shí)要點(diǎn)】多路廣播委托。多路廣播委托?!景咐瓿刹襟E案例完成步驟】(1)初步認(rèn)識(shí)多路廣播委托。)初步認(rèn)識(shí)多路廣播委托。(2)預(yù)測程序的輸出結(jié)果。)預(yù)測程序的輸出結(jié)果。第第11章章 委托與事件委托與事件 11.2.1
15、初步初步認(rèn)識(shí)多路廣播委托認(rèn)識(shí)多路廣播委托 委托可以分為單路廣播委托和多路廣播委托。 單路廣播委托來自于System.Delegate類,它一次僅包含一個(gè)方法的引用。課堂案例11-1使用的就是單路廣播委托。單路廣播委托調(diào)用委托的次數(shù)與調(diào)用方法的次數(shù)相同。如果要調(diào)用多個(gè)方法,就需要多次顯式調(diào)用這個(gè)委托。 多路廣播委托來自于MulticastDelegate類。它包含多個(gè)方法的調(diào)用列表。在多路廣播委托中,可以創(chuàng)建一個(gè)單路廣播委托,然后調(diào)用多個(gè)封裝的方法。多路廣播委托保持對(duì)多個(gè)方法的使用,所以,當(dāng)調(diào)用一個(gè)多路廣播委托時(shí),它將執(zhí)行調(diào)用序列中的所有方法。 在C#中,使用“+=”可以組合兩個(gè)委托實(shí)例,通過“
16、-=”可以從一個(gè)多路廣播委托中刪除一個(gè)委托實(shí)例。 第第11章章 委托與事件委托與事件 以課堂案例11-2為例,在程序段中使用了多路廣播委托的方式分別調(diào)用EnglishGreeting和ChineseGreeting方法。對(duì)于課堂案例11-2,分析如下:(1)第21行:創(chuàng)建委托對(duì)象delegate1,使其保存方法EnglishGreeting的指向。(2)第22行:使用“+=”運(yùn)算符,將已經(jīng)指向的EnglishGreeting方法的委托實(shí)例delegate1也作為指向“+=”符號(hào)后的ChineseGreeting方法的委托實(shí)例。此時(shí),委托實(shí)例delegate1實(shí)際上保存了EnglishGreet
17、ing和ChineseGreeting兩個(gè)方法的指向。(3)第23行:使用委托對(duì)象delegate1來調(diào)用方法。該語句的執(zhí)行效果相當(dāng)于將字符串“XiaoMing”作為方法的形式參數(shù),并順序地執(zhí)行EnglishGreeting和ChineseGreeting方法。(4)第25行:使用“-=”運(yùn)符算,刪除委托對(duì)象delegate1中保存的EnglishGreeting方法的指向。執(zhí)行該語句后,delegate1僅保存了ChineseGreeting方法的指向。(5)第26行:通過delegate1對(duì)象調(diào)用方法。由于第25行語句已經(jīng)刪除了delegate1委托對(duì)象對(duì)Englishgreeting方法
18、的指向。此處,該語句的執(zhí)行效果相當(dāng)于將字符串“小明”作為方法的形式參數(shù),調(diào)用執(zhí)行ChineseGreeting方法。說明:說明: 多路廣播委托中,多個(gè)方法的執(zhí)行順序與方法間的前后組合順序一致。多路廣播委托中,多個(gè)方法的執(zhí)行順序與方法間的前后組合順序一致。第第11章章 委托與事件委托與事件 11.2.2 預(yù)測程序的輸出預(yù)測程序的輸出 根據(jù)對(duì)根據(jù)對(duì)課堂案例課堂案例11-2的分析,程序的輸出結(jié)果為:的分析,程序的輸出結(jié)果為:Morning,XiaoMing早上好,早上好,XiaoMing早上好,小明早上好,小明第第11章章 委托與事件委托與事件 課堂實(shí)踐課堂實(shí)踐11-2預(yù)測下面程序的輸出結(jié)果。預(yù)測下
19、面程序的輸出結(jié)果。Class Program public delegate void MessageHandler(string message); static void Main(string args) MessageHandler messageHandler = new MessageHandler(GetMessage); messageHandler += new MessageHandler(GetMessage2); messageHandler(“測試信息!測試信息!”); Console.Read(); static void GetMessage(string mes
20、sage) Console.WriteLine(message); static void GetMessage2(string message) Console.WriteLine(message + “: 同時(shí)調(diào)用的方法。同時(shí)調(diào)用的方法。”) ; 第第11章章 委托與事件委托與事件 11.3 事件事件【課堂案例課堂案例11-3】閱讀下面的程序,識(shí)別所用的事件并閱讀下面的程序,識(shí)別所用的事件并預(yù)測程序的輸預(yù)測程序的輸出結(jié)果。出結(jié)果。Class MailMagEventArgs:EventArgs public string from; public string to; public str
21、ing subject; public string body; public MailMagEventArgs(string from, string to, string subject, string body) this.from = from; this.to = to; this.subject = subject; this.body = body; Clas MailManager public delegate void MailMagEventHandler(object sender,MailMagEventArgs args); public event MailMag
22、EventHandler MailMag; public virtual void onMailMag(MailMagEventArgs e) if(MailMag!=null) MailMag(this,e); 第第11章章 委托與事件委托與事件 Class Fax public string FaxId; public Fax(MailManager mm) mm.MailMag += new MailManager.MailMagEventHandler(FaxMag); private void FaxMag(Object sender, MailMagEventArgs e) Con
23、sole.WriteLine(“Faxing mail message: ” + FaxId); Console.WriteLine(“From:0”,e.from); Console.WriteLine(“To:0”,e.to); Console.WriteLine(“Subject:0”,e.subbect); Console.WriteLine(“body:0”,e.body); Class Program static void Main(string args) MailManager mm = new MailManager(); Fax obj = new Fax(mm); ob
24、j.FaxId = “hunan railway college”; MailMagEventArgs e = new MailMagEventArgs(“張化張化”,”李天李天,”代理與事件的應(yīng)用代理與事件的應(yīng)用”, ”代理是時(shí)間處理機(jī)制的基礎(chǔ)代理是時(shí)間處理機(jī)制的基礎(chǔ)”); mm.onMailMag(e); 第第11章章 委托與事件委托與事件 【案例學(xué)習(xí)目標(biāo)案例學(xué)習(xí)目標(biāo)】了解事件的聲明和使用。了解事件的聲明和使用?!景咐R(shí)要點(diǎn)案例知識(shí)要點(diǎn)】事件。事件?!景咐瓿刹襟E案例完成步驟】(1)初步認(rèn)識(shí)事件。)初步認(rèn)識(shí)事件。(2)定義事件)定義事件(3)引發(fā)事件)引發(fā)事件(4)預(yù)測程序的輸出結(jié)果。)
25、預(yù)測程序的輸出結(jié)果。第第11章章 委托與事件委托與事件 11.3.1 初步初步認(rèn)識(shí)事件認(rèn)識(shí)事件事件是對(duì)象發(fā)送的消息,以發(fā)信號(hào)通知操作的發(fā)生。操作可事件是對(duì)象發(fā)送的消息,以發(fā)信號(hào)通知操作的發(fā)生。操作可能是由用戶交互引起的,也可能是由某些其他的程序邏輯能是由用戶交互引起的,也可能是由某些其他的程序邏輯觸發(fā)的。引發(fā)事件的對(duì)象稱為事件發(fā)送方。捕獲事件并對(duì)觸發(fā)的。引發(fā)事件的對(duì)象稱為事件發(fā)送方。捕獲事件并對(duì)其做出響應(yīng)的對(duì)象稱為事件接收方。其做出響應(yīng)的對(duì)象稱為事件接收方。在在C#中,事件與委托一起使用來實(shí)現(xiàn)事件處理。在實(shí)現(xiàn)事件中,事件與委托一起使用來實(shí)現(xiàn)事件處理。在實(shí)現(xiàn)事件時(shí),需要三個(gè)相互聯(lián)系的元素:提供事
26、件數(shù)據(jù)的類,事件時(shí),需要三個(gè)相互聯(lián)系的元素:提供事件數(shù)據(jù)的類,事件委托和引發(fā)事件的類。委托和引發(fā)事件的類。.NET框架對(duì)與事件相關(guān)的類和方框架對(duì)與事件相關(guān)的類和方法的命名進(jìn)行了約定:事件參數(shù)類的類名為法的命名進(jìn)行了約定:事件參數(shù)類的類名為 EventArgs,事件委托名為,事件委托名為 EventHandler,引,引發(fā)事件類的方法名為發(fā)事件類的方法名為On 。第第11章章 委托與事件委托與事件 例如:想引發(fā)一個(gè)名為EventName的事件,需要執(zhí)行以下步驟:(1)定義事件參數(shù)類EventNameEventArgs,此類應(yīng)當(dāng)從System.EventArgs類派生。如果事件不帶參數(shù),這一步可以
27、省略。(2)定義事件委托,C#中的事件處理實(shí)際上是一種具有特殊簽名的delegate,為事件定義委托的語法如下: delegate void EventNameEventHandler(object sender,EventNameEventArgs e);其中有兩個(gè)參數(shù),sender代表事件發(fā)送者,e是事件參數(shù)類。EventNameEventArgs類用來包含與事件相關(guān)的數(shù)據(jù)。(3)定義引發(fā)事件的類。該類必須提供: 事件聲明:public eventEventNameEventHandlerEventName; 引發(fā)事件的方法:名字為OnEventName。(4)定義事件類,在該類中使用“+
28、”運(yùn)算符和“-”運(yùn)算符將一個(gè)或多個(gè)方法與基類的事件關(guān)聯(lián)并定義將與事件關(guān)聯(lián)的方法。第第11章章 委托與事件委托與事件 對(duì)對(duì)課堂案例課堂案例11-3分析可知,類分析可知,類MailMagEventArgs是事件是事件參數(shù)類,繼承自參數(shù)類,繼承自System.EventArgs類。該類定義了傳真類。該類定義了傳真機(jī)處理事件所需要的參數(shù),如郵件主題、正文、寫信人以機(jī)處理事件所需要的參數(shù),如郵件主題、正文、寫信人以及收信人等。類及收信人等。類MailManager是事件類,該為中給出事件是事件類,該為中給出事件MailMag的聲是有,并且定義了的聲是有,并且定義了MailMag事件的觸發(fā)器事件的觸發(fā)器o
29、nMailMag。程序運(yùn)行期間,當(dāng)收到一個(gè)。程序運(yùn)行期間,當(dāng)收到一個(gè)E-mail消息時(shí),消息時(shí),可以在引發(fā)事件類中調(diào)用事件類的觸發(fā)器可以在引發(fā)事件類中調(diào)用事件類的觸發(fā)器onMailMag來執(zhí)來執(zhí)行行MailMag事件的處理操作。事件的處理操作。第第11章章 委托與事件委托與事件 11.3.2 定義定義事件事件 事件的定義格式如下所示: event = new ()說明:說明:(1)事件是類的成員方法,在類的內(nèi)部定義,不能在方法內(nèi)作為變量定義。)事件是類的成員方法,在類的內(nèi)部定義,不能在方法內(nèi)作為變量定義。(2)可以用)可以用“+=”、“-=”等運(yùn)算符進(jìn)行多重事件的設(shè)置與刪除,由于等運(yùn)算符進(jìn)行多
30、重事件的設(shè)置與刪除,由于“=”運(yùn)運(yùn)算符只能在定義事件的類內(nèi)部運(yùn)用,所以,通常在創(chuàng)建事件對(duì)象中建議使用算符只能在定義事件的類內(nèi)部運(yùn)用,所以,通常在創(chuàng)建事件對(duì)象中建議使用“+=”運(yùn)算符。運(yùn)算符。(3)事件只能在定義事件的類中引發(fā)。)事件只能在定義事件的類中引發(fā)。(4)訪問修飾符應(yīng)與委托類型的訪問權(quán)限一致或低于委托類型的訪問權(quán)限。)訪問修飾符應(yīng)與委托類型的訪問權(quán)限一致或低于委托類型的訪問權(quán)限。第第11章章 委托與事件委托與事件 11.3.3 引發(fā)引發(fā)事件事件 事件定義完成后,接下來就需要指定一個(gè)方法作為觸發(fā)器來觸發(fā)事件的發(fā)生。在類外部引發(fā)事件時(shí),不是直接通過事件名而是根據(jù)觸發(fā)器名來引發(fā)事件。觸發(fā)器的定義格式如下所示:觸發(fā)器 ();說明:說明:(1)事件是類的成員方法,事件的引發(fā)需要有一個(gè)觸發(fā)器,不能如委托一)事件是類的成員方法,事件的引發(fā)需要有一個(gè)觸發(fā)器,不能如委托一樣在其他類的方法中執(zhí)行方法,可以像委托一樣在其他類的方法中封閉方法樣在其他類的方法中執(zhí)行方法,可以像委托一樣在其他類的方法中封閉方法所以,要在同一個(gè)類中定義事件、設(shè)置觸發(fā)器。所以,要在同一個(gè)類中定義事件、設(shè)置觸發(fā)器。(2)觸發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 開發(fā)項(xiàng)目獎(jiǎng)勵(lì)金制度
- 建立重要急需教學(xué)專題立項(xiàng)招標(biāo)制度
- 工程結(jié)算審核風(fēng)險(xiǎn)控制制度
- 工廠安全生產(chǎn)風(fēng)險(xiǎn)分級(jí)管控制度
- 山西建投質(zhì)量驗(yàn)收制度
- 湖南中醫(yī)藥大學(xué)《專業(yè)論文寫作與專業(yè)英語》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西信息應(yīng)用職業(yè)技術(shù)學(xué)院《診斷學(xué)2醫(yī)技》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津石油職業(yè)技術(shù)學(xué)院《機(jī)械制造基礎(chǔ)(二)》2023-2024學(xué)年第二學(xué)期期末試卷
- 岳陽職業(yè)技術(shù)學(xué)院《醫(yī)學(xué)檢驗(yàn)有機(jī)化學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 農(nóng)村公廁長效管護(hù)制度
- 《建筑施工常見問題》課件
- 職高計(jì)算機(jī)單招操作題庫單選題100道及答案
- 通信工程部的職責(zé)與技術(shù)要求
- 簡愛插圖本(英)夏洛蒂·勃朗特著宋兆霖譯
- 焊接專業(yè)人才培養(yǎng)方案
- 第二屆全國技能大賽江蘇省選拔賽焊接項(xiàng)目評(píng)分表
- 糖尿病護(hù)士年終總結(jié)
- 第20課 《美麗的小興安嶺》 三年級(jí)語文上冊(cè)同步課件(統(tǒng)編版)
- 糖尿病基礎(chǔ)知識(shí)培訓(xùn)2
- 手工藝品加工合同
- 研學(xué)旅行概論第六章
評(píng)論
0/150
提交評(píng)論