Hirdetés
- MasterDeeJay: Harc a DDR5 árak ellen
- djculture: Éhezők ssd és memória viadala.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Magga: PLEX: multimédia az egész lakásban
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
Ú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 -
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

Ú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!
- Huawei Watch GT 3 Pro - korlátolt szépség
- Kormányok / autós szimulátorok topikja
- Építő/felújító topik
- One mobilszolgáltatások
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen hagyományos (nem okos-) telefont vegyek?
- BMW topik
- VGA kibeszélő offtopik
- Apple Watch Sport - ez is csak egy okosóra
- Call of Duty: Black Ops 7
- További aktív témák...
- Full Prémium! Gamer PC-Számítógép!Rog Maximus XII! I9 10850K / RTX 3080 Suprim / 32GB DDR4 / 2TB SSD
- MSI Pro mp273qw e2
- Dell Latitude 5330 - 13,3" touch, i5-1245U, 16GB RAM, SSD, EU bill., jó akku, számla, garancia
- Asztali PC , i7 6700 , RTX 2060 , 16GB DDR4 , 512GB SSD
- Dell Latitude 5430 - i5-1245U, 16GB RAM, 512GB SSD, jó akku számla, garancia
- GYÖNYÖRŰ iPhone 12 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3881
- Microsoft Surface Laptop 3 13.5" fekete i5-1035G7 16GB 512GB 1 év garancia
- GYÖNYÖRŰ iPhone XR 128GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3985, 100% Akkumulátor
- ThinkPad T14s Gen 2 i5-1135G7 16GB 512GB FHD 1 év garancia
- GYÖNYÖRŰ iPhone 12 mini 128GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3856
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


