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.

GD0111: Експортована кнопка інструмента має бути властивістю, що містить вираз

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

GD0111

Категорія

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

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

Не б'ється

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

Да

Причина

Властивість позначається атрибутом [ExportToolButton], але вона не є властивістю, що містить вираз.

Опис правила

Під час перезавантаження збірки .NET, Godot спробує серіалізувати експортовані члени, щоб зберегти їхні значення. Поле або властивість з резервним полем, яке зберігає Callable, може перешкодити вивантаженню збірки.

Властивість, що містить вираз, не має поля резервного копіювання та не зберігатиме Callable, тому Godot не намагатиметься серіалізувати її, що має призвести до успішного перезавантаження збірки .NET.

[ExportToolButton("Click me!")]
public Callable ValidClickMeButton => Callable.From(ClickMe);

// Invalid because the Callable will be stored in the property's backing field.
[ExportToolButton("Click me!")]
public Callable InvalidClickMeButton { get; } = Callable.From(ClickMe);

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

Щоб виправити порушення цього правила, замініть реалізацію властивості на властивість, що містить вираз.

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

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