RF0105: Индексатор нельзя экспортировать
Индексатор требует аргумент; экспортируемое свойство должно иметь отдельное имя без параметра индекса.
Для C#-проекта с Reckfell.NET.Sdk 1.0.0. Сначала исправьте первую ошибку сборки: последующие сообщения могут быть её следствием.
Причина
Индексатор требует аргумент; экспортируемое свойство должно иметь отдельное имя без параметра индекса.
Исправление
Экспортируйте сам контейнер. Индексатор можно сохранить как обычный C#-доступ без Export.
Пример с ошибкой
Сохраните файл в тестовом C#-проекте и выполните dotnet build. Этот вариант намеренно не собирается.
Example.cs
using Reckfell;
namespace DiagnosticExamples.RF0105;
public partial class Example : Entity { [Export] public int this[int index] { get => index; set { } } }Ожидаемые сообщения: RF0105.
Рабочий вариант
Замените ошибочный вариант этими файлами; не оставляйте оба объявления в проекте.
Example.cs
using Reckfell;
namespace DiagnosticExamples.RF0105;
public partial class Example : Entity
{
[Export] public Reckfell.Collections.Array<int> Values { get; set; } = new() { 7 };
public int this[int index] { get => Values[index]; set => Values[index] = value; }
}Результат
Присваивание через индексатор меняет Values[0]; экспортируется контейнер Values.
Связанные материалы
Документация Reckfell EngineНаверх ↑