我有这个方法,它将给我第一个父控件,它是通用类型 T,其中 T 是 Control 的子类型。
// Given a Control, find parent Control of T
public static T FindParent<T>(this Control ctrl) where T : Control
{
var curParent = ctrl.Parent;
while (curParent != null && !(curParent is T))
{
curParent = curParent.Parent;
}
return (T)curParent;
}
但是,现在我想找到一个实现接口 T 的父控件。当我where T : Control
从方法中删除子句时,该return (T)curParent
行给出了编译错误Cannot convert type 'System.Web.UI.Control' to T