C# 友元函式
阿新 • • 發佈:2018-12-31
2. 簡述:不用繼承的方式為一個類增加成員方法。
3. 實現程式碼:
其中SkinCat.Instance.IsDesignMode是自己寫的一個類用來獲取當前環境是否正處於設計器模式(VS-Form設計器模式)。詳見:判斷窗體是否處於設計器模式/// <summary> /// Component擴充套件類 /// </summary> internal static class ComponentDesignModeExtension { /// <summary> /// 獲取當前是否為設計器模式 /// </summary> /// <param name="component">元件類</param> /// <returns>是否為設計器模式</returns> internal static bool IsComponentDesignMode(this System.ComponentModel.Component component) { return SkinCat.Instance.IsDesignMode; } }
4. 用法:
5. 應用場景:
a. 如上,為Component控制元件及其子控制元件提供IsComponentDesignMode方法,省去了使用XXXHelper類來判斷。
b. 其他對目標類進行檢查(授權/許可權)、封裝、轉換、(深)拷貝等操作。