Dire que j'ai 2 classes, classe A et classe B. Classe A crée une instance de classe B. Classe A a une fonction que je voudrais passer dans une méthode de la classe B.Puis-je utiliser la fonction d'une autre classe en tant que délégué?
class A {
void Main(string[] args) {
B classB=new B();
DelegateCaller(new delFunction(classB.TheFunction()); // <-- Won't compile (method name expected)
DelegateCaller(new delFunction(B.TheFunction()); // <-- Won't compile (object reference is req'd)
}
public delegate string delFunction();
public DelegateCaller(delFunction func) {
System.Console.WriteLine(func());
}
}
class B {
public string TheFunction() {
return "I'm Printing!!!";
}
}
Je Je ne sais pas si c'est un problème de syntaxe ou c'est juste quelque chose que je ne peux pas faire. Peut-être que je dois définir le délégué dans B, mais le référencer dans A? Qu'en est-il de de B ce pointeur?
son code est loin de compiler même avec ceci. Voir ma réponse pourquoi. –
Si je pouvais vous donner à la fois Darin et vous, mais comme vous étiez le premier et que vous avez un rep inférieur, vous l'obtenez. –