C # эквивалент C ++ mem_fun? - PullRequest
       21

C # эквивалент C ++ mem_fun?

0 голосов
/ 09 декабря 2008

Я хотел бы сделать что-то вроде следующего в C #:

    class Container {
        //...
        public void ForEach(Action method) {
            foreach (MyClass myObj in sequence) myObj.method();
        }
    }

    //...
    containerObj.ForEach(MyClass.Method);

В C ++ я бы использовал что-то вроде std :: mem_fun. Как бы я это сделал в C #?

Ответы [ 2 ]

2 голосов
/ 09 декабря 2008

Это должно работать, в C # 3.0:

class Container 
{        
//...        
public void ForEach(Action<MyObj> method) 
{            
    foreach (MyClass myObj in sequence) method(myObj);        
}    
}   

//...    containerObj.ForEach( myobj => myObj.Method() );
0 голосов
/ 09 декабря 2008

Предполагая, что:

    public void ForEach(Action method) {
        foreach (MyClass myObj in sequence) method(myObj);

не годится для вас, тогда я думаю, что вы застряли с отражением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...