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