Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

GD0203: підпис делегата сигналу має повертатися недійсним

Ідентифікатор правила

GD0203

Категорія

Використання

Виправлення ламається або не ламається

Розрив – якщо тип повернення змінено

Нерозривний – якщо видалено атрибут [Signal]

Увімкнено за замовчуванням

Да

Причина

Делегат, анотований атрибутом [Signal], має тип повернення, коли очікувався void.

Опис правила

Кожен сигнал має повертати пустоту. Для кожного сигналу може бути зареєстровано кілька зворотних викликів. Якби зворотні виклики сигналів могли щось повернути, було б неможливо визначити, яке з повернених значень використовувати.

// This signal delegate is invalid because it doesn't return void.
public int InvalidSignalEventHandler();

// This signal delegate is valid because it returns void.
public void ValidSignalEventHandler();

Перегляньте документацію C# signals, щоб дізнатися більше про те, як декларувати та використовувати сигнали.

Як усунути порушення

Щоб виправити порушення цього правила, змініть делегат на повернення void або видаліть атрибут [Signal] з делегату. Зауважте, що видалення атрибута означатиме, що сигнал не зареєстровано.

Порада

Якщо сигналу не потрібно взаємодіяти з Godot, розгляньте можливість безпосереднього використання C# події. Чисті події C# дозволяють використовувати будь-який тип C# для його параметрів.

Коли придушувати попередження

Не приховуйте попередження з цього правила. Делегати сигналу, які повертають щось, призведуть до неочікуваних помилок виконання.