1. 程式人生 > >c# 泛型函式的使用

c# 泛型函式的使用

以下函式的作用為 遍歷容器,改變容器內所有T型別控制元件的文字顏色

/// <summary>
/// 遍歷fatherControl內所有T型別控制元件,改變字型顏色
/// </summary>
/// <typeparam name="T">要改變字型顏色的型別</typeparam>
/// <param name="fatherControl">要遍歷的控制元件</param>
/// <param name="Col">改變的顏色</param>
private void GetControls1<T>(Control fatherControl, Color Col) where T : Control
{
    Control.ControlCollection sonControls = fatherControl.Controls;
    //遍歷所有控制元件  
    foreach (Control control in sonControls)
    {
        if (control is T)
        {
            (control as T).ForeColor = Col;
        }
        if (control.Controls != null)
        {
            GetControls1<T>(control, Col);
        }
    }
}
where T : Control 為泛型約束,傳入的型別T僅為Control 或它的子類