Kazalo:
Opredelitev - Kaj pomeni operater pretvorbe?
Operator pretvorbe v C # je operater, ki se uporablja za razglasitev pretvorbe po uporabniško definiranem tipu, tako da se lahko predmet tega tipa pretvori v ali iz drugega uporabniško definiranega tipa ali osnovnega tipa. Dve različni vrsti uporabniško definiranih pretvorb vključujejo implicitne in eksplicitne pretvorbe.
Na splošno operaterji eksplicitnih in implicitnih pretvorb omogočajo razredu, ki se odda na druge možne tipe podatkov.
Izrecni operater pretvorbe se mora priklicati z zasedbo in se uporablja, kadar mora biti pretvorba vidna uporabnikom operaterja. Uporablja se v izrazih cast, kjer obe vrsti podatkov nista povsem združljivi in zato zahtevata operaterja cast.
Neposreden operater pretvorbe je preprost za uporabo. Ne potrebuje posebne skladnje in izboljšuje berljivost kode. Prav tako razredu pomaga pretvoriti podatke podatkovne vrste v združljiv tip brez uvajanja. Implicitno zasedbo je treba uporabiti v situacijah, kot so priklici in dodelitve funkcijskih članov, kjer ni tveganja za izgubo podatkov ali pojav izjem.
Techopedia razlaga pretvornika
Implicitna pretvorba se lahko določi za razred s ključno besedo "implicitno" skupaj s ključno besedo "operator". Izrecno operacijo pretvorbe je mogoče določiti za razred s ključno besedo "eksplicitna", skupaj s ključno besedo "operator". Obe pretvorbi morata biti opredeljena kot statična.
Na primer, razred RomanNumeral lahko definiramo z dvema operaterjema pretvorbe. Opredeliti je mogoče implicitni operater pretvorbe za pretvorbo iz razreda RomanNumeral v niz za prikaz številke v obliki rimskih številk; lahko je izrecno določen operater pretvorbe, ki bo izvedel pretvorbo iz razreda RomanNumeral v celo število.
Pretvorba razreda v tip predmeta ali vmesnika ni dovoljena. Enako velja za pretvorbo iz osnovnega razreda v razred, ki izhaja iz osnovnega razreda.
V danem razredu tako eksplicitnih kot implicitnih operaterjev ni mogoče določiti za pretvorbo iz iste vrste v drugo.
Treba je paziti, da implicitna pretvorba ne povzroči izgube podatkov ali izjeme. Če obstajajo utemeljeni razlogi za vrnitev izjeme, mora biti pretvorba izrecnega tipa.
Ta definicija je bila napisana v okviru C #