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...
GD0301: аргумент загального типу має бути типом, сумісним з варіантом
Ідентифікатор правила |
GD0301 |
Категорія |
Використання |
Виправлення ламається або не ламається |
ломка |
Увімкнено за замовчуванням |
Да |
Причина
Непідтримуваний тип вказано для аргументу загального типу, коли очікується Variant-compatible type.
Опис правила
Якщо параметр загального типу анотовано атрибутом [MustBeVariant], загальний тип має бути типом, сумісним з варіантом. Наприклад, загальний тип Godot.Collections.Array<T> підтримує лише елементи типу, який можна перетворити на Variant.
class SomeType { }
// SomeType is not a valid type because it doesn't derive from GodotObject,
// so it's not compatible with Variant.
var invalidArray = new Godot.Collections.Array<SomeType>();
// System.Int32 is a valid type because it's compatible with Variant.
var validArray = new Godot.Collections.Array<int>();
Як усунути порушення
Щоб виправити порушення цього правила, змініть аргумент загального типу на тип, сумісний із варіантом, або використовуйте інший API, який не потребує, щоб аргумент загального типу був типом, сумісним із варіантом.
Коли придушувати попередження
Не приховуйте попередження з цього правила. API, який містить аргументи загального типу, анотовані атрибутом [MustBeVariant], зазвичай має цю вимогу, оскільки значення будуть передані механізму, якщо тип не можна маршалювати, це призведе до помилок виконання.