"Свободные интерфейсы" в наши дни являются довольно горячей темой. В С# 3.0 есть некоторые интересные функции (особенно методы расширения), которые помогают вам их создавать.
FYI, свободный API означает, что каждый вызов метода возвращает что-то полезное, часто тот же объект, на который вы вызвали метод, так что вы можете продолжать цепочки. Мартин Фаулер обсуждает это с примером Java здесь. Концепция использует что-то вроде этого:
var myListOfPeople = new List<Person>();
var person = new Person();
person.SetFirstName("Douglas").SetLastName("Adams").SetAge(42).AddToList(myListOfPeople);
Я видел некоторые невероятно полезные интерфейсы в С# (один из примеров - свободный подход для проверки параметров, найденных в qaru.site/info/177624/.... он смог дать очень читаемый синтаксис для выражения правил проверки параметров, а также, если не было исключений, он смог избежать создания экземпляров любых объектов! Поэтому для "нормального случая" было очень мало накладных расходов. tidbit научил меня огромная сумма за короткое время. Я хочу найти больше таких вещей).
Итак, я хотел бы узнать больше, посмотрев и обсудив некоторые отличные примеры. Итак, какие превосходные интерфейсы, которые вы сделали или видели на С#, и что сделало их такими ценными?
Спасибо.