C#靜態(tài)方法應(yīng)用實例詳解
C#靜態(tài)方法如何識別類的實例呢?那么解決的方法是在C#中,可以靈活地采用傳遞參數(shù)的辦法。這里引用一個Windows窗口的例子,向你介紹C#靜態(tài)方法如何識別類的實例:
C#靜態(tài)方法應(yīng)用程序代碼:
- using System;
- class Window
- {
- public string m_caption; //窗口的標(biāo)題
- public bool IsActive; //判斷是否被激活
- public handle m_handle; //窗口的句柄
- public static int m_total; //當(dāng)前打開的窗口數(shù)目
- public handle Window(){
- m_total++; //窗口總數(shù)加1
- //......創(chuàng)建窗口的一些執(zhí)行代碼
- return m_handle; //窗口的返回值作為句柄
- }
- ~Window(){
- m_total--; //窗口總數(shù)減1
- //......撤消窗口的一些執(zhí)行代碼
- }
- public static string GetWindowCaption(Window w)
- {
- return w.m_caption;
- }
- //......窗口的其它成員
- }
C#靜態(tài)方法應(yīng)用程序代碼解析:
分析一下上面例子中的代碼。每個窗口都有窗口標(biāo)題m_caption、窗口句柄m_handle、窗口是否激活I(lǐng)sActive三個非靜態(tài)的數(shù)據(jù)成員(窗口句柄是Windows操作系統(tǒng)中保存窗口相關(guān)信息的一種數(shù)據(jù)結(jié)構(gòu),我們在這個例子中簡化了對句柄的使用)。系統(tǒng)中總共打開的窗口數(shù)目m_total作為一個靜態(tài)成員。每個窗口調(diào)用構(gòu)造函數(shù)創(chuàng)建,這時m_total的值加1。窗口關(guān)閉或因為其它行為撤消時,通過析構(gòu)函數(shù)m_total的值減1.
我們要注意窗口類的靜態(tài)方法GetWindowCaption(Window w)。這里它通過參數(shù)w將對象傳遞給方法執(zhí)行,這樣它就可以通過具體的類的實例指明調(diào)用的對象,這時它可以訪問具體實例中的成員,無論是靜態(tài)成員還是非靜態(tài)成員。
C#靜態(tài)方法如何識別類的實例以及相關(guān)的內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)C#靜態(tài)方法應(yīng)用有所幫助。
【編輯推薦】