Подарки от программис'тов
Ладно, вот другой примерчик странных подарков. К чему может быть такое наследование?
public class Config : ConfigBase<Config>
Конструктора у Config нет. Но это значит, что у него есть дефолтный без параметров.
Внутри ConfigBase сидит статическое свойство
public static T Configuration { get ... ; set ... ;}
в котором под блокировкой (lock) организуется загрузка конфигурации в геттере.
Как я понимаю, любой Config имеет статическое свойство на самого себя... И что это даёт? Можно в бесконечном цикле самого себя опрашивать?
Я бы подумал, что это какая-то странная организация синглетона через наследование и параметр типа, но дефолтный-то конструктор не мешает насоздавать сколько угодно Config? Плюс сеттер публичный доступен. "Протекающий" синглетон какой-то.