J'ai joué avec des délégués essayant d'apprendre et j'ai rencontré un petit problème en espérant que vous puissiez m'aider.Utilisation d'un délégué pour remplir une liste de sélection
class myClass
{
OtherClass otherClass = new OtherClass(); // Needs Parameter
otherClass.SendSomeText(myString);
}
class OtherClass
{
public delegate void TextToBox(string s);
TextToBox textToBox;
public OtherClass(TextToBox ttb) // ***Problem***
{
textToBox = ttb;
}
public void SendSomeText(string foo)
{
textToBox(foo);
}
}
la forme:
public partial class MainForm : Form
{
OtherClass otherClass;
public MainForm()
{
InitializeComponent();
otherClass = new OtherClass(this.TextToBox);
}
public void TextToBox(string aString)
{
listBox1.Items.Add(aString);
}
}
Évidemment, cela ne marche pas parce que le constructeur compilez AutreClasse recherche TextToBox comme paramètre. Comment recommanderiez-vous de contourner le problème afin que je puisse obtenir un objet de myClass dans la zone de texte dans le formulaire?
je vraiment avoir beaucoup de contrôle sur myClass. C'est un flux Im recevant via API. Je ne sais pas pourquoi je n'ai pas pensé à ajouter un autre constructeur. –