Это не выглядит между методами;не в последнюю очередь, метод может быть в другой сборке и может изменяться без перестроений, или может быть виртуальным, внешним, абстрактным или частичным - было бы сложно определить только небольшое количество случаев.
Вы могли бы иметьThrowEx возвращает «int», а затем:
return ThrowEx();
, что сделает компилятор счастливым.Или используйте дженерики:
static T ThrowEx<T>() {...}
...
return ThrowEx<int>();