Új hozzászólás Aktív témák
-
joysefke
veterán
válasz
Froclee
#8758
üzenetére
Azt elfogadom, hogy az async void Dispose() nem működik úgy ahogyan én azt elvárnám

A compiler az IDisposable interfészre -és úgy általában minden void visszatérésű metódusra- figyelmeztetés nélkül elfogad egy async void implementációt.
Ez fordul és fut (C# 7.1+):
using System;
using System.Threading.Tasks;
public interface iface
{void func1(int delay);
Task func2(int delay);}
class Program : iface
{
static async Task Main(string[] args)
{
Program p = new Program();
Console.WriteLine($"starting {nameof(p.func1)}");
p.func1(3500);
Console.WriteLine($"{nameof(p.func1)} started");
Console.WriteLine($"starting and awaiting {nameof(p.func2)}");
await p.func2(2000);
await Task.Delay(3500-2000 + 500);
}
public async void func1(int delay)
{await Task.Delay(delay);
Console.WriteLine($"Hello from {nameof(func1)}");}
public async Task func2(int delay)
{await Task.Delay(delay);
Console.WriteLine($"Hello from {nameof(func2)}");}
}A
p.func1()hívás nem await-elhető, de működik raja az async keyword, a func1 implementációján belül a compiler kulcsszóvá alakítja az await-et és a func1-en belül awaithelhetőek lesznek az async metódusok. A példában a func1 törzsében a végrehajtás előbb bevárja a Task.Delay()-t és csak aztán ír a konzolra.Szóval ez az async void dolog minden hibájával együtt nagyjából működik.
Ezért nem értem, hogy az xUnit-ban egy async void Dispose hívásban a végrehajtás a Dispose metódus törzsében miért hagyja figyelmen kívül az await kulcsszót, elindítja a Task-ot amit kiadtam neki, de nem várja be
.. .
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- ASUS routerek
- exHWSW - Értünk mindenhez IS
- Samsung Galaxy Watch6 Classic - tekerd!
- Építő/felújító topik
- Futás, futópályák
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- eBay-es kütyük kis pénzért
- Okos Otthon / Smart Home
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Világ Ninjái és Kódfejtői, egyesüljetek!
- További aktív témák...
- Megkímélt HP Gamer,15,6"FullHD IPS,i5 8300H(8X4,Ghz)GTX 1050 4/8GBVGA,16-32GB RAM/512GB SSD,ÚJ akku
- Dell Precision 5530,15.6",FHD,i7-8850H,16GB DDR4,512GB NVMe SSD,P2000 4GB VGA,WIN11
- Artillery Genius 3D Nyomtató
- Prusa MMU3 MK4S/CoreOne (Multi Material Unit)
- Huawei P9 Lite Mobiltelefon fekete 16/2 - VNS-L21 - Független!
- BESZÁMÍTÁS! ASRockB450M R5 5600X 16GB DDR4 512GB SSD STRIX RTX 2070 SUPER 8GB GameMax Aero Mini 700W
- BESZÁMÍTÁS! ASUS ROG Z790 i9 14900KF 32GB DDR5 1TB SSD RTX 5070TI 16GB NZXT H6 Flow RGB 1200W
- HP Thunderbolt 4 kábel
- GYÖNYÖRŰ iPhone 15 Pro Max 512GB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3867, 100% Akksi
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

.. .
