Kezdőoldal » Számítástechnika » Programozás » C#ben hogyan hasonlítom össze...

C#ben hogyan hasonlítom össze két változó tipusát?

Figyelt kérdés
2015. máj. 14. 17:40
 1/8 Tengor ***** válasza:
55%
a.GetType() == b.GetType() v. valami ilyesmi...
2015. máj. 14. 17:51
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:
100%

Miért akarod két változó típusát összehasonlítani? Optimális esetben a változók típusa már fordítási időben ismert, ha nem így van, akkor nagy baj van és nem változik dinamikusan, mint a változók értéke (C#-ban nem is változhat), ergo Te már amikor megírod a kódot tudod, hogy milyen típusú lesz a változód, az egész amit szeretnél értelmetlen.

Az egyetlen, ahol ennek létjogosultsága lehet az öröklődéseknél lehet az ősosztályban, de ilyet bárhol vizsgálnod kell, akkor architekturális hibát követtél el, az adott függvényt valahogyan máshogy kell megoldani!

2015. máj. 14. 18:29
Hasznos számodra ez a válasz?
 3/8 Tengor ***** válasza:
55%
#2, van egy formod, rajta egy panel, amin vannak különböző inputok, szeretnéd rajta az összes szöveg mezőt szerkeszthetővé tenni. Hogy csinálod?
2015. máj. 14. 18:34
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
Megkeresed a inputtípusoknak azt a legközelebbi közös ősét, amelyik mindnek az őse és van paramétere a szerkeszthetőségre, azt inputokat erre az ősre kasztolod (vagy használod az as kulcsszót) és utána állítod át a megfelelő paraméterrel!
2015. máj. 14. 18:39
Hasznos számodra ez a válasz?
 5/8 Tengor ***** válasza:
De ha nem végzek típus ellenőrzést, akkor a castolás exceptionnel el fog szállni.
2015. máj. 14. 18:48
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:
Ha olyan típus próbálsz castolni, ami az adott típusnak leszármazottja, akkor egészen biztosan nem száll el :) de ha teljességgel elkerülhetetlen, akkor az is kulcsszóval ellenőrizheted, hogy az adott osztály leszármazottja-e!
2015. máj. 14. 19:10
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

Jézusom.


Miért akarsz futásidőben típusfelismeréssel foglalkozni?


Mellesleg nagyon rossz szoftver dizájn az, ahol bármit be lehet írni egy inputba. Mellesleg minden input karakterlánc típusban tárol, különben nem is látnád a képernyőn...

2015. máj. 14. 19:43
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:

hát kb így:

[link]


Abban igaza van ketteskének, hogy _valaki_ valószínűleg tervezési hibát követett el, de az nem biztos, hogy azonos az éppen programozóval, meg az se biztos, hogy van idő/pénz kijavítani.


A legtöbb ilyen amúgy megfelelő öröklési hierarchiával, sima override-olással, esetleg visitor patternnel megoldható. (keresési kulcsszavak: single/multiple/dynamic dispatch)

2015. máj. 15. 15:07
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!