У меня есть следующая абстрактная функция.
public abstract Func<IEnumerable<TInput>, int, TIndexed> IndexedObjectConstructor { get; }
Мой вопрос связан со способом реализации.1-й: я создаю метод с той же сигнатурой
public IIndexedOhlcv Test(IEnumerable<IOhlcv> l, int i)
{
return new IndexedCandle(l, i);
}
, присваиваю его функции.
public override Func<IEnumerable<IOhlcv>, int, IIndexedOhlcv> IndexedObjectConstructor = Test;
Однако, это показывает ошибку
Ошибка CS0106 Модификатор 'override' недопустим для этого элемента
Я знаю, что это можетбыть решенным с помощью лямбды следующим образом:
public override Func<IEnumerable<IOhlcv>, int, IIndexedOhlcv> IndexedObjectConstructor => Test;
или
public override Func<IEnumerable<IOhlcv>, int, IIndexedOhlcv> IndexedObjectConstructor
=> (l, i) => new IndexedCandle(l, i);
Мой вопрос мой "IndexedObjectConstructor = Test;"не работает?