Ich bin ein bisschen neu zu ThreadPool in .NET. Ich frage mich, ob ich, wenn ich nur ein Objekt an meine Rückrufmethode senden kann, auf die Klassenmitgliedsvariable zugreifen kann, um ihre Methoden aufzurufen? (Siehe customClass in CallBack())Wie man mit ThreadPool und Mitgliedsvariablen umgehen?
Und wie würde ich die Daten von customClass laden? Übergeben Sie die customClass an eine andere CallBack-Methode? Ist dieser Ansatz in Ordnung?
Wie Sie sehen können, ist es ein bisschen mangelnde Erfahrung, so dass alle Tipps auf dem Weg wirklich geschätzt werden würden.
Danke, Kave
class Program
{
static void Main(string[] args)
{
CustomClass customClass = new CustomClass();
ThreadPool.QueueUserWorkItem(CallBack, "Hello");
Console.Read();
}
private static void CallBack(object state)
{
customClass.SaveData(state.ToString());
}
}
Schöne Probe, aber die Aufruf an SaveData sollte eigentlich SaveData (Text) sein - nur ein Copy/Paste-Rest, natürlich ;-) –
wow, sehr schönes Beispiel! Mit .NET 3.5 müssen keine CallBack-Methoden mehr mit Objekt als Parameter verwendet werden. Ist das korrekt? Ich würde auch eine .NET 2.0-Lösung für dieses Problem sehr schätzen, also kenne ich beide Wege. Irgendeine Idee? – Houman
Hatte einfach eine Idee, wäre das der Weg, wie es in der .NET 2.0 Welt gemacht wird? ThreadPool.QueueUserWorkItem (Delegat {CallBack (customClass, "Welt");}); – Houman