January 23, 2017

Alıntı (erdem):

>

Herhalde bir sınıfın üye işlevini çağıramayızdır değil mi.

Bir üye işlevi çağırabiliriz ama delegate olabilmesi için ortada öncelikle bir nesne olması gerekir. Ek olarak, tabii sen static olmayan üye işlevleri düşünerek sormuş olmalısın. Yoksa, static üye işlevler de serbest işlevler gibi kullanılabilirler (toDelegate gerekir).

import std.functional;

void foo(void delegate(int) dg) {
}

void serbestİşlev(int) {
}

struct S {
   void üyeİşlev(int) {
   }

   static void staticÜyeİşlev(int) {
   }
}

void main() {
   foo(toDelegate(&serbestİşlev));
   foo((i) {});

   S s;
   foo(&s.üyeİşlev);
   foo(toDelegate(&S.staticÜyeİşlev);
}

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

1 2
Next ›   Last »