1. 程式人生 > >C# 友元函式

C# 友元函式

2. 簡述:不用繼承的方式為一個類增加成員方法。

3. 實現程式碼:

/// <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;
    }
}
其中SkinCat.Instance.IsDesignMode是自己寫的一個類用來獲取當前環境是否正處於設計器模式(VS-Form設計器模式)。詳見:判斷窗體是否處於設計器模式

4. 用法:


5. 應用場景:

a. 如上,為Component控制元件及其子控制元件提供IsComponentDesignMode方法,省去了使用XXXHelper類來判斷。

b. 其他對目標類進行檢查(授權/許可權)、封裝、轉換、(深)拷貝等操作。