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.

GD0202: параметр підпису делегата сигналу не підтримується

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

GD0202

Категорія

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

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

Порушення - якщо тип параметра змінено

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

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

Да

Причина

Непідтримуваний тип указано для параметра делегату, анотованого атрибутом [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# для його параметрів.

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

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