За годы разработки игр я обнаружил, что распространенный шаблон, которому следует следовать, — это передать функции делегат, который она должна выполнить после завершения того, что эта функция должна сделать, например, функция обратного вызова, которую следует вызывать перед метод завершается.
Я также обнаружил, что отказ от вызова обязательного обратного вызова может привести к ошибкам, которые трудно распознать и выявить.После решения такой ошибки сегодня мы с коллегой задумались, существует ли способ на уровне компилятора обеспечить вызов переданного делегата. Аналогично тому, как параметры out выдают ошибки компилятора, если они не установлены до завершения функции.
Я ищу способ во время компиляции гарантировать, что делегат будет вызван перед завершением функции. Я не смог найти его при поиске в документации, но, возможно, я не знаю нужных слов для поиска. Меня бы устроило решение, включающее декораторы/атрибуты или даже решения компилятора Roslyn. Это похоже на то, что C# может обрабатывать изначально.
Наконец, если в C# этого нет, мне бы понравились примеры из других языков, в которых есть ключевые слова/шаблоны для гарантированного метода. вызов.
Подробнее здесь: https://stackoverflow.com/questions/788 ... ction-exit
Как потребовать переданный вызов делегата перед выходом из функции? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как мне потребовать собственный репозиторий в моем композиторе.json? [дубликат]
Anonymous » » в форуме Php - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как я могу потребовать, чтобы хотя бы один флажок был установлен перед отправкой формы?
Anonymous » » в форуме CSS - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как потребовать предопределенные строковые значения в базовых моделях Python pydantic?
Anonymous » » в форуме Python - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-