Нет, это не так. Кроме того, какая польза от этого? Если два типа не имеют ничего общего, то вы ничего не можете сделать с типом возвращаемого значения.
Рассмотрим код, вызывающий делегата:
var returnValue = someDelegate();
Какой тип var
в этом случае? Единственный общий предок string
и ActionResult
- это object
, так что это все, что вы можете от него получить. С точки зрения статической типизации вы можете просто объявить тип возвращаемого значения как object
.