- Motorola Edge 50 Neo - az egyensúly gyengesége
- Hívószám-hamisítás
- Magisk
- One mobilszolgáltatások
- iPhone topik
- Íme az új Android Auto!
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Szívós, szép és kitartó az új OnePlus óra
- Samsung Galaxy Fit 3 - keveset, de jól
- Honor Magic6 Pro - kör közepén számok
Új hozzászólás Aktív témák
-
petyus_
senior tag
válasz
kiskornel #9324 üzenetére
Ahogy a többiek is írták, a logger-be nem kéne ilyen logikát rakni, annak már csak azt az adatot kellene átadnod, ami a logba kerül.
"A függvény belülről nem gond, a típusazonosítás után már fel lehet dolgozni, de nem akarok tömböt definiálni, mikor hívom a függvényt, csak a paramétereket zárójelben bepakolni, átadni."
Ha mégis így akarod, akkor a params-t használd, ahogy korábban írtam:
Method(int x, params object[] obj){}
Itt nem kell létrehoznod semmilyen tömböt, vesszővel elválasztva pakolhatod be a paramétereket, utána a függvényen belül viszont a tömb elemein kell végigmenned. -
joysefke
veterán
válasz
kiskornel #9324 üzenetére
Vannak loggoló frameworkok, pld "Serilog". https://github.com/serilog/serilog/wiki/Getting-Started#example-application
Itt egy videó https://www.youtube.com/watch?v=ljZpWbuK68s
A loggolás pedig ennyi:
catch (Exception ex){
Log.Error(ex, "Something went wrong. Részletek: {param1} {param2} {param3}", param1, param2, param3);
}
Ha nem teljesítmény kritikus az applikáció akkor a fenti séma jó is...
mindent átguglizok
abból semmit nem lehet tanúlni
-
sztanozs
veterán
válasz
kiskornel #9324 üzenetére
Log fájlba az alábbi dolgok kellenek:
- esemény ideje (UTC vagy timezone megadásával)
- esemény szintje (amennyiben szükséges)
- esemény típusa (és/vagy azonosítója)
- esemény forrása (és vagy forrás azonosítója)
- esemény sikeressége (ha típus szinten ezt nem különítjük el)
- esemény üzenetTehát egy logoló kódba nem kell beledobálni mindenféle objektumokat. Azt vagy egy előre definiált esemény-objektummal kell feltölteni, vagy szöveges mezőket megadni.
-
joysefke
veterán
válasz
kiskornel #9319 üzenetére
szvsz:
-(A) vagy több overloadolt függvény dekalrációt használsz ugyanazzal a függvénynévvel, de különböző paramétertípusokkal , e.g.: void A (int, string, string); void A (int, object, object);
-(B) vagy egyszerűen object-ként deklarálod a különböző bemenő paramétereket és bent egy type-matching switch statementel eldöntöd a konkrét típust.-(C) gondolom tisztában vagy a generikus típus/metódusdeklaráció mikéntjével és nem erre lenne igazából szükséged:
pldpublic int Foo<T1,T2,T3>(int x, T1 p1, T2 p2, T3 p3){
Console.WriteLine($"{p1.GetType()} {p2.GetType()} {p3.GetType()}");
return x;
}
-
fatal`
titán
válasz
kiskornel #9319 üzenetére
Attól függ mit szeretnél, C#-ban nincs union type. Ha csak kiírni ToString()-gel, akkor a #9320-ban említettek is megfelelőek lehetnek.
Lehet több overloadot csinálni (persze 5 paraméternél ez baromi sok lenne), vagy pedig builder patternre (vagy ahhoz hasonlóra) lehet szükséged, bár ez konstruktornál hasznos.
Akár típusra pattern matching is játszhat.
A cél nélkül nehéz megmondani
-
sztanozs
veterán
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen billentyűzetet vegyek?
- sziku69: Fűzzük össze a szavakat :)
- Rágyúr a macOS-re a 3DMark
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Milyen processzort vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Motorola Edge 50 Neo - az egyensúly gyengesége
- További aktív témák...
- Eladó konfig! Ryzen 7 7800X3D 2TB SSD 64GB DDR5 RX9070XT 16GB!
- Új, makulátlan állapotú Samsung Galaxy Buds FE, fehér, fél év garancia
- Új, makulátlan állapotú Samsung Galaxy Watch7 44mm ezüst, 2 év garancia
- Új, makulátlan állapotú Samsung Z Fold 6 256GB Tengerészkék, független, 2 év garancia
- Használt TP-Link Deco M4 - AC1200 Router (Mesh-ként is használható)
- LG 55G3 - 55" OLED evo - 4K 120Hz 0.1ms - MLA - 2000 Nits - NVIDIA G-Sync - AMD FreeSync - HDMI 2.1
- AKCIÓ! PC Specialist Recoil VIII 17 notebook - i9 14900HX 16GB RAM 2TB SSD RTX 4060 8GB WIN11
- LG 27UL550-W - 27" IPS / 3840x2160 4K / 60Hz 5ms / HDR10 / AMD FreeSync
- Bomba ár! HP EliteBook 830 G5 - i5-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max/
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest