Думаю, я знаю ответ на этот вопрос, но мне нужно указать, что универсальный метод может принимать тип, основанный на двух необязательных ограничениях. При этом T может быть как того, так и другого типа.
public WebPage Click<T>(Func<WebPage> predicate) where T : LinkBase || FieldBase, new()
{
WebDriver.FindElement(new T().LinkPath).Click();
WebDriver.Wait();
return predicate.Invoke();
}
Я знаю, что в настоящее время такого синтаксиса не существует, но есть ли способ решить эту проблему без дублирования метода ограничения для обоих типов? Если нет, возможно ли это для будущей версии языка?