我想在C#中执行以下操作:
class Container {
//...
public void ForEach(Action method) {
foreach (MyClass myObj in sequence) myObj.method();
}
}
//...
containerObj.ForEach(MyClass.Method);
在C ++中我会使用类似std :: mem_fun的东西。我怎么用C#来做?
答案 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);
对你没有好处,然后我觉得你很反思。