Dans ma classe principale 'A' J'ai déclaré une fonction et déléguée à appeler cette fonction, je veux transmettre mon délégué à une autre classe 'B' mais comment la classe B savoir quel type le délégué est?
classe A P>
public delegate void SendInfo(string[] info); //I know this is wrong but how will SendInfo SendInformation; //this class know what SendInfo is? public void SetDelegate(SendInfo sendinfo) //What type is this parameter? { sendinfo.GetType(); SendInformation = sendinfo; }
3 Réponses :
Lorsque vous déclarez le délégué 'in' classe A, vous le déclarez sous forme de sous-type de classe A. Donc, il est de type classa.sendinfo code> par exemple. Dans la classe B, vous pouvez utiliser
public void SetDelegate(ClassA.SendInfo sendinfo)
Pourquoi déclarez-vous deux types de délégués distincts avec la même signature? Déclarer un type em> em> type de délégué (si vous devez vraiment - utiliser le Vous devez être conscient que lorsque vous écrivez: p> qui déclare vraiment un type type em> - et vous pouvez déclarer ce type directement dans un espace de noms; Il ne doit pas nécessairement être le membre d'un autre type. P> p> FUNC code> et
action code> familles dans la mesure du possible) en dehors de toutes les autres classes et utilisez-la partout.
Comme Jon mentionne, action
Déclarez simplement le délégué une fois em> directement dans votre espace de noms et