_inner используется у вас во многих местах, и есть некий публичный метод, который его возвращает. Тогда внешний код сможет вызвать этот метод, получить тот же экземпляр объекта _inner и поставить на него свой lock. Так можно случайно словить взаимоблокировку и повесить приложение._lock - это просто правило хорошего тона, его создают для безопасности: очень маловероятно, что кому-то придет в голову использовать его за пределами инструкции lock и тем более вернуть из метода.ng-include по умолчанию всегда создает изолированный scope. Лучший способ этого избежать - создать отдельные директивы под ваши элементы, например object-view и object-edit. Там изолированная область создаваться не будет, если вы этого не укажете.ng-include, которая делает всё то же самое, но не изолирует область. Вот тут есть реализация:foreach, создается новый перечислитель. Поэтому сбрасывать состояние не надо. Вы же сделали химеру из коллекции и ее собственного перечислителя (return this as IEnumerator), поэтому вам приходится сбрасывать состояние руками.List<T>, Dictionary<TKey, TValue> и множество других, которые следует использовать.      Html.BeginForm и т.д.) по умолчанию не задают элементам классы, которые принято использовать в Bootstrap. Поэтому у каждого метода есть версия, которая принимает анонимный объект с атрибутами. Например, так:@Html.TextBoxFor(x => x.MyField, new { @class = "form-control" })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(...);GetHashCode и Equals нужно переопределять, если вы хотите, чтобы два различных экземпляра одного класса могли считаться одинаковыми. В вашем же случае экземпляр будет равен только самому себе, потому что Id всегда будут уникальными. Получается, вы переизобрели семантику сравнения по ссылке, которая и так работает по умолчанию, если не переопределять GetHashCode и Equals вообще.LastLeasedID рано или поздно получите дубликаты.      RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !api/.*
RewriteRule ^/(.+) /api/$1 [NC,L]