1. 关于友元函数的定义:友元函数-百度百科
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. 其他对目标类进行检查(授权/权限)、封装、转换、(深)拷贝等操作。