C#
20
Вклад в тег
_inner
используется у вас во многих местах, и есть некий публичный метод, который его возвращает. Тогда внешний код сможет вызвать этот метод, получить тот же экземпляр объекта _inner
и поставить на него свой lock
. Так можно случайно словить взаимоблокировку и повесить приложение._lock
- это просто правило хорошего тона, его создают для безопасности: очень маловероятно, что кому-то придет в голову использовать его за пределами инструкции lock
и тем более вернуть из метода.class AbstractExpressionList<T>: Dictionary<string, Func<T, T>> { }
public T Aggregate(IEnumerable<T> values, T accumulator, Func<T, T> projection)
{
var current = accumulator;
foreach(var value in values)
current = projection(current, value);
return current;
}
var data = new AbstractExpressionList<T>
{
["a"] = ...,
["b"] = ...
};
var result = data.Aggregate(...);
Authorize
.