- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Kormányok / autós szimulátorok topikja
- Apple MacBook
- AMD Navi Radeon™ RX 9xxx sorozat
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- 3D nyomtatás
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- Milyen házat vegyek?
- Iszonyatos mennyiségű hulladékkal járhat a Windows 10 terméktámogatásának vége
Ú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!
- Gyúrósok ide!
- Linux kezdőknek
- Mobil flották
- Motorola G86 - majdnem Edge
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Autós topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Metal topik
- Android alkalmazások - szoftver kibeszélő topik
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- További aktív témák...
- TUF A15 FA507NUR 15.6" FHD IPS Ryzen 7 7435HS RTX 4050 16GB 512GB NVMe gar
- ThinkPad T16 Gen2 16" FHD+ IPS érintő i7-1365U 32GB 512GB NVMe ujjlolv IR kam gar
- Thin 15 B12VE 15.6" FHD IPS i5-12450H RTX 4050 16GB 512GB NVMe magyar vbill gar
- Apple iPhone 12 Mini 64Gb, Szép Állapotban, Akku:91% 12 hónap Garancia, Fekete Színben
- Apple iPhone 13 Mini 128Gb, Újszerű Állapotban, Akku:100%, 12 hónap Garancia, Fekete Színben
- Így lesz a Logitech MX Keys magyar billentyűzetes
- ÁRGARANCIA! Épített KomPhone i5 14400F 32/64GB DDR5 RTX 5060Ti 8GB GAMER PC termékbeszámítással
- Villámgyors internet, egyetlen kártyával!
- BESZÁMÍTÁS! GigabyteA620M R5 7500F 32GB DDR5 500GB SSD RX6700XT 12GB Bitfenix Nova Mesh Enermax 750W
- BESZÁMÍTÁS! ÚJ AMD Ryzen 5600X 5700X 5800X 5900X processzor 3 év garancia 27% áfa termékbeszámítás
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest