获取基于参数的控件类型的所有实例
本文关键字:控件 类型 实例 于参数 参数 获取 | 更新日期: 2023-09-27 18:07:28
是否有办法根据其他信息获取特定控件类型的所有实例?通常我会使用;
public static IEnumerable<T> GetAllControlsOfType<T>(this Control parent) where T : Control
{
var result = new List<T>();
foreach (Control control in parent.Controls)
{
if (control is T)
{
result.Add((T)control);
}
if (control.HasControls())
{
result.AddRange(control.GetAllControlsOfType<T>());
}
}
return result;
}
但是这行不通,因为我事先不知道我要寻找的控件类型。
如果你只在运行时知道类型,那么你可以使用type。IsInstanceOfType而不是"控制是T"在你的例子。该函数需要一个Type形参并返回一个IEnumerable