Как потребовать переданный вызов делегата перед выходом из функции?C#

Место общения программистов C#
Anonymous
Как потребовать переданный вызов делегата перед выходом из функции?

Сообщение Anonymous »

За годы разработки игр я обнаружил, что распространенный шаблон, которому следует следовать, — это передать функции делегат, который она должна выполнить после завершения того, что эта функция должна сделать, например, функция обратного вызова, которую следует вызывать перед метод завершается.
Я также обнаружил, что отказ от вызова обязательного обратного вызова может привести к ошибкам, которые трудно распознать и выявить.После решения такой ошибки сегодня мы с коллегой задумались, существует ли способ на уровне компилятора обеспечить вызов переданного делегата. Аналогично тому, как параметры out выдают ошибки компилятора, если они не установлены до завершения функции.
Я ищу способ во время компиляции гарантировать, что делегат будет вызван перед завершением функции. Я не смог найти его при поиске в документации, но, возможно, я не знаю нужных слов для поиска. Меня бы устроило решение, включающее декораторы/атрибуты или даже решения компилятора Roslyn. Это похоже на то, что C# может обрабатывать изначально.
Наконец, если в C# этого нет, мне бы понравились примеры из других языков, в которых есть ключевые слова/шаблоны для гарантированного метода. вызов.

Подробнее здесь: https://stackoverflow.com/questions/788 ... ction-exit

Вернуться в «C#»