C # Äquivalent von C ++ mem_fun?

stimmen
0

Ich möchte so etwas wie die folgenden in C # tun:

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

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

In C ++ würde ich so etwas wie std :: mem_fun verwenden. Wie würde ich es in C #?

Veröffentlicht am 09/12/2008 um 15:44
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

Vorausgesetzt, dass:

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

ist nicht gut für Sie, dann denke ich, Sie mit Reflexion stecken.

Beantwortet am 09/12/2008 um 15:49
quelle vom benutzer

stimmen
2

Dies sollte arbeiten, in C # 3.0:

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

//...    containerObj.ForEach( myobj => myObj.Method() );
Beantwortet am 09/12/2008 um 16:00
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more