RF0110: Кнопка Inspector должна возвращать Callable
ExportToolButton применён к свойству Variant вместо Callable. Возвращаемое выражение создаёт Callable, но объявленный тип свойства остаётся Variant.
Для C#-проекта с Reckfell.NET.Sdk 1.0.0. Сначала исправьте первую ошибку сборки: последующие сообщения могут быть её следствием.
Причина
ExportToolButton применён к свойству Variant вместо Callable. Возвращаемое выражение создаёт Callable, но объявленный тип свойства остаётся Variant.
Исправление
Верните Callable.From с нужным обработчиком. Подпись кнопки задаётся аргументом атрибута, а не типом свойства.
Пример с ошибкой
Сохраните файл в тестовом C#-проекте и выполните dotnet build. Этот вариант намеренно не собирается.
Example.cs
using Reckfell;
namespace DiagnosticExamples.RF0110;
[Tool]
public partial class Example : Entity
{
public int Count { get; private set; } = 7;
[ExportToolButton("Reset")] public Variant ResetButton => Callable.From(Reset);
private void Reset() => Count = 0;
}Ожидаемые сообщения: RF0110.
Рабочий вариант
Замените ошибочный вариант этими файлами; не оставляйте оба объявления в проекте.
Example.cs
using Reckfell;
namespace DiagnosticExamples.RF0110;
[Tool]
public partial class Example : Entity
{
public int Count { get; private set; } = 7;
[ExportToolButton("Reset")] public Callable ResetButton => Callable.From(Reset);
private void Reset() => Count = 0;
}Результат
ResetButton имеет тип Callable; ResetButton.Call() сбрасывает Count.
Если getter возвращает строковый литерал вместо прямого создания Callable, раньше может появиться RF0111. Исправьте и тип свойства, и выражение getter.