Я хочу добавить лямбда-функцию к Func<T>
.Кроме того, я хотел бы, чтобы возвращаемое значение было значением первого лямбда-делегата (я не могу изначально изменить порядок, в котором первое всегда будет применяться первым).Когда я пытаюсь сделать это с синтаксисом +=
, я получаю следующее:
Ошибка 44 Оператор '+ =' не может быть применен к операндам типа 'System.Func<TEntity>
' и 'лямбда-выражения'
Как мне достичь вышеуказанного?Я действительно хотел бы избежать использования традиционного синтаксиса делегатов, если это возможно.
class Transaction
{
static Func<TEntity> ifNullInitializeWithThisReturnedObject = () => default(TEntity);
public static bool IsDirty { get; private set; }
public init (Func<TEntity> IfNullInitializeWithThisReturnedObject)
{
ifNullInitializeWithThisReturnedObject = IfNullInitializeWithThisReturnedObject;
}
public void somemethod()
{
ifNullInitializeWithThisReturnedObject += () =>
{
IsDirty = true;
return default( TEntity );
};
}
}