J'ai remarqué que dans certains cas, Visual Studio recommande de le faire
await using var disposable = new Disposable();
// Do something
au lieu de cela
using var disposable = new Disposable();
// Do something
Quelle est la difference entre using
et await using
?
Comment dois-je décider lequel utiliser?
await using
qu'avec unIAsyncDisposable
et que vous ne pouvez l'utiliserusing
qu'avec unIDisposable
car aucun n'hérite de l'autre. Le seul moment où vous pouvez utiliser l'un ou l'autre est si la classe concrète implémente les deux et cela dépend si vous écrivez du code asynchrone ou non.Réponses:
Synchronisation classique à l'aide
L'utilisation classique appelle la
Dispose()
méthode d'un objet implémentant l'IDisposable
interface.Est équivalent à
Nouvelle asynchrone en attente d'utilisation
Les nouveaux attendent d'utiliser des appels et attendent la
DisposeAsync()
méthode d'un objet implémentant l'IAsyncDisposable
interface.Est équivalent à
L' interface IAsyncDisposable a été ajoutée dans
.NET Core 3.0
et.NET Standard 2.1
.la source