Я пытаюсь вернуть объект, который реализует определенный интерфейс в качестве этого интерфейса, но получает ошибку CS0030: Cannot convert type 'System.Web.UI.Control' to 'T'
во время компиляции.
Мой код:
public static T GetAncestorOfType<T>(System.Web.UI.Control control)
{
var parent = control;
while (!(parent is T))
{
parent = parent.Parent;
continue;
}
return (T)parent;
}
Ошибкакасается последней строки, где parent
приведен к T
.
Возможно, мне нужно какое-то ограничение типа для метода?