Нет никакого ограничения для этого. Это - реальная проблема для любого желающего использовать дженерики для числовых вычислений.
я пошел бы далее и сказал бы, что нам нужно
static bool GenericFunction(T value)
where T : operators( +, -, /, * )
, Или даже
static bool GenericFunction(T value)
where T : Add, Subtract
, К сожалению, у Вас только есть интерфейсы, базовые классы и ключевые слова struct
(должен быть тип значения), class
(должен быть ссылочный тип), и new()
(должен иметь конструктора по умолчанию)
, Вы могли обернуть число во что-то еще (подобный INullable
) как здесь на codeproject.
Вы могли ввести ограничение во времени выполнения (путем отражения для операторов или проверки на типы), но это действительно теряет преимущество наличия дженерика во-первых.
Вы должны нацелить свою документацию на процессор RDoc, который сможет найти вашу документацию и сгенерировать из нее HTML. Вы поместили свой комментарий в нужное место для этого, но вам следует взглянуть на документацию RDoc , чтобы узнать о типах тегов, которые RDoc умеет форматировать. С этой целью я бы переформатировал ваш комментарий следующим образом:
# Runs a subprocess and applies handlers for stdout and stderr
# Params:
# +command+:: command line string to be executed by the system
# +outhandler+:: +Proc+ object that takes a pipe object as first and only param (may be nil)
# +errhandler+:: +Proc+ object that takes a pipe object as first and only param (may be nil)
Канонический вариант - RDoc , он очень похож на тот, который вы опубликовали.
См. Образец раздела по ссылке, которую я вам отправил
В Rails есть некоторые Рекомендации по документации API . Вероятно, это хорошая отправная точка.
Я бы настоятельно предложил использовать RDoc . Это в значительной степени стандарт. Комментарии к коду легко читать, и это позволяет легко создавать веб-документацию для вашего проекта.
Вот документация для системы документации ruby (RDOC)