Мне было интересно, есть ли у этой техники имя - изменить методы состояния, чтобы вернуть это, чтобы записать их по методу linq method().method().method()
.C# - Как называется этот метод?
class Program
{
static void Main(string[] args)
{
Test t = new Test();
t.Add(1).Write().Add(2).Write().Add(3).Write().Add(4).Write().Subtract(2).Write();
}
}
internal class Test
{
private int i = 0;
public Test Add(int j)
{
i += j;
return this;
}
public Test Subtract(int j)
{
i -= j;
return this;
}
public Test Write()
{
Console.WriteLine("i = {0}",i.ToString());
return this;
}
}
Вы имеете в виду Свободный интерфейс? –
Обратите внимание, что некоторые методы могут возвращать другой объект, а не только 'this' и все равно получить тот же эффект. Как правило, речь идет о возврате чего-то, что позволяет продолжить цепочку. – Richard
Я бы скорее назвал это «уродливым кодом», но это всего лишь личное мнение. –