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.
Checking the stable version of the documentation...
GD0202: параметр підпису делегата сигналу не підтримується
Ідентифікатор правила |
GD0202 |
Категорія |
Використання |
Виправлення ламається або не ламається |
Порушення - якщо тип параметра змінено Нерозривний – якщо видалено атрибут |
Увімкнено за замовчуванням |
Да |
Причина
Непідтримуваний тип указано для параметра делегату, анотованого атрибутом [Signal], коли очікується Variant-compatible type.
Опис правила
Кожен параметр сигналу має бути сумісним з варіантом, щоб його можна було сортувати під час надсилання сигналу та виклику зворотних викликів.
class SomeType { }
// SomeType is not a valid parameter type because it doesn't derive from GodotObject,
// so it's not compatible with Variant.
public void InvalidSignalEventHandler(SomeType someType);
// System.Int32 is a valid type because it's compatible with Variant.
public void ValidSignalEventHandler(int someInt);
Перегляньте документацію C# signals, щоб дізнатися більше про те, як декларувати та використовувати сигнали.
Як усунути порушення
Щоб виправити порушення цього правила, змініть тип параметра на сумісний з варіантом або видаліть атрибут [Signal] з делегату. Зауважте, що видалення атрибута означатиме, що сигнал не зареєстровано.
Порада
Якщо сигналу не потрібно взаємодіяти з Godot, розгляньте можливість безпосереднього використання C# події. Чисті події C# дозволяють використовувати будь-який тип C# для його параметрів.
Коли придушувати попередження
Не приховуйте попередження з цього правила. Делегати сигналу з параметрами, які не можна маршалювати, призведуть до помилок виконання під час надсилання сигналу або виклику зворотних викликів.