C C ++ mem_fun içinde eşdeğer?

oy
0

Ben C # Aşağıdaki gibi bir şey yapmak istiyorum:

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

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

C ++ ben std :: mem_fun gibi bir şey kullanmak. Bunu nasıl C # yapardınız?

Oluştur 09/12/2008 saat 15:44
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
0

varsayarsak:

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

Hiçbir sizin için iyidir, o zaman yansıması ile sıkışmış düşünüyorum.

Cevap 09/12/2008 saat 15:49
kaynak kullanıcı

oy
2

Bu C # 3.0, çalışmak gerektiğini:

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

//...    containerObj.ForEach( myobj => myObj.Method() );
Cevap 09/12/2008 saat 16:00
kaynak kullanıcı

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