2010-04-21 11 views
6

Mi chiedevo se questa tecnica ha un nome - cambiare i metodi di stato per restituirlo, per poterli scrivere nel modo linq method().method().method().C# - Come si chiama questa tecnica?

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

Intendete un'interfaccia fluente? –

+0

Nota, alcuni metodi potrebbero restituire un altro oggetto, non solo "questo" e ottenere lo stesso effetto. Generalmente si tratta di restituire qualcosa che consente un ulteriore concatenamento. – Richard

+6

Preferisco chiamarlo "codice brutto" ma questa è solo un'opinione personale. –

risposta

1

API fluente.

Ora molte strutture lo supportano.