C#相当于C ++ mem_fun?

时间:2008-12-09 14:44:54

标签: c# methods delegates mem-fun

我想在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 个答案:

答案 0 :(得分:2)

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

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

//...    containerObj.ForEach( myobj => myObj.Method() );

答案 1 :(得分:0)

假设:

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

对你没有好处,然后我觉得你很反思。