2015-03-31 4 views
1

У меня есть такие методы, как это:Могу ли я последовательно вызвать методы?

string MethodName1() { ... } 
string MethodName2() { ... } 
... 
string MethodNameN() { ... } 

, а затем создать methodList.

Следовательно я хочу вызвать в цикле

List<string> myList = new List<string>(); 

for(int i=0; i < methodList.count; i++) 
{ 
    MyList.Add(methodList[i]); 
} 

Это возможно?

+0

Вы пробовали? Это возможно? – mins

+1

Маленькая сторона примечания здесь, это выглядит довольно сильным запахом кода для меня. Возможно, вы захотите решить проблему в источнике, а это ваша архитектура. –

ответ

2

Вы можете хранить эти методы, как List<Func<string>>:

List<Func<string>> methodList = new List<Func<string>> 
{ 
    MethodName1, 
    MethodName2, 
    ... 
}; 

Называть их sequentally и получить результаты как List<string>:

List<string> myList = methodList.ConvertAll(method => method()); 
+0

большое спасибо! – user3920450

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