Die Fallstricke von Async Void: Eine detaillierte Erklärung
Async Void-Methoden haben sich als schlechte Praxis beim Codieren etabliert. Dieser Artikel befasst sich eingehender mit der Frage, warum genau dies der Fall ist, und bezieht sich dabei auf den bekannten Artikel „Avoiding Async Void“.
Gründe für die Vermeidung von Async Void
Zusätzliche Überlegungen
Async void gilt als Anomalie im Bereich Async /await Sprachen. Die meisten Sprachen, einschließlich F#, Python, JavaScript und TypeScript, unterstützen es nicht. Die Einbeziehung in C#/VB diente in erster Linie dazu, asynchrone Event-Handler zu unterstützen.
Ein bevorzugter Ansatz
In Ihrem Beispiel, wenn Sie Ihren Code anpassen, um asynchrone Void-Event-Handler zu verwenden :
protected override async void OnLoad(EventArgs e) { if (CustomTask == null) await PrimeCustomTask(); } private async Task PrimeCustomTask() {...}
Dann beschränken sich die Nachteile von async void auf den Event-Handler, der Ausnahmebehandlung, Zusammensetzung, und Tests überschaubarer.
Das obige ist der detaillierte Inhalt vonWarum sollte ich Async-Void-Methoden in C# vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!