2016-05-10 2 views
0

У меня есть класс под названием A и внутри класса i, который ставит метод B. Каждый раз, когда вызывается b, я хочу добавить что-то в массив.Сделать метод Вызвать себя с помощью «Dot»

Пример

class A 
    { 
     List<String> mParams = new List<String>(); 
     void b(String param) 
     { 
      mParams.Add(param); 
     } 
    } 

является то, что можно сделать это как этот

A.b("1").b("2").b("3"); 

любая помощь будет оценена.

Благодаря

+0

'void' не может быть прикован. –

+1

Чтобы «цепные» вызовы, 'b()' должен возвращать сам объект, т. Е. 'Return this;' –

+3

Это синтаксис * bad * для этой проблемы. Если вы хотите добавить диапазон значений, просто ... добавьте диапазон значений, то есть передайте 'IEnumerable '. Вот как работают методы 'AddRange()' в большинстве контейнеров. Таким образом, вы могли бы написать 'b (new [] {" 1 "," 2 "," 3 "})' или использовать список/массив/контейнер, сгенерированный каким-то другим кодом –

ответ

8

сделать свой метод б возврат this.

public A b(string a) 
{ 
    //Do stuff 
    return this; 
} 
+0

Спасибо С его работой Clovis Portron, Panagiotis Kanavos 36 и david L –