Надеюсь, это поможет.
=====================

ько изучаю дженерики и у меня есть вопрос относительно возвращаемых значений метода.

Скажем, я хочу универсальный метод в том смысле, что обязательная общая часть сигнатуры метода - это только возвращаемое значение. Метод всегда будет принимать одну строку в качестве параметра, но может возвращать либо double, либо int. Это возможно?

По сути, я хочу взять строку, проанализировать число внутри (которое может быть double или int) и затем вернуть это значение.

Благодарю.

`double` или`int` из универсального метода без него также возвращая любой другой тип.

Я мог бы, например, иметь`Foo` Класс и ваш общий метод синтаксического анализа, без каких-либо ограничений, позволят сделать этот вызов:

Лучшее, что вы можете сделать с числами - это ограничить свою функцию, позволяя только`struct` (значения-типы), которые будут использоваться.

Но это позволит использовать все типы чисел, а также любые другие типы значений.

Вы можете ограничить тип интерфейса, но нет`INumeric` интерфейс на`double` или же`int` так что вы застряли.

Единственное, что вы можете сделать, это выдать исключение, если передан неправильный тип, что, как правило, не очень хорошо.

В этом случае ваш лучший подход - отказаться от обобщений и использовать отдельно названные методы.

Но, конечно, это не поможет вам выучить дженерики. Сожалею.



Вы могли бы сделать что-то вроде ...

И используйте это как ...

И тогда это будет зависеть от вашей реализации в методе Parse.

Надеюсь, это поможет.



Да, это возможно.

Пример:

Что-то вроде этого?