2010-04-21 2 views
6

Мне было интересно, есть ли у этой техники имя - изменить методы состояния, чтобы вернуть это, чтобы записать их по методу 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; 
    } 
} 
+1

Вы имеете в виду Свободный интерфейс? –

+0

Обратите внимание, что некоторые методы могут возвращать другой объект, а не только 'this' и все равно получить тот же эффект. Как правило, речь идет о возврате чего-то, что позволяет продолжить цепочку. – Richard

+6

Я бы скорее назвал это «уродливым кодом», но это всего лишь личное мнение. –

ответ

1

Свободный API.

Многие фреймворки теперь поддерживают его.

Смежные вопросы