0

我想在 C# 中执行以下操作:

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

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

在 C++ 中,我会使用 std::mem_fun 之类的东西。我将如何在 C# 中做到这一点?

4

2 回答 2

2

这应该在 C# 3.0 中起作用:

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

//...    containerObj.ForEach( myobj => myObj.Method() );
于 2008-12-09T15:00:49.463 回答
0

假如说:

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

对你没有好处,那么我认为你陷入了反思。

于 2008-12-09T14:49:00.753 回答