ebatäpsemateks muutuda, või lihtsalt soovitakse, et kogemata ei tehtaks kirjeldatavat teisendust, siis tuleb lisada piiritlejaks sõna explicit. public static explicit operator double(Kellaaeg k){ //kohustuslik muunduse näitamine return k.Tund()+k.Minut()/60.0; } Sellisel juhul tuleb omistamisel sobivasse kohta kirjutada (double), et teisendusest asja saaks. Muidu annab kompilaator lihtsalt veateate. double tunnidPaevaAlgusest=(double)k1; Operaatorid võivad töötada ka teises suunas - ehk siis olemasolevast tüübist uue loodava tüübi poole. Siin näites tehakse minutite hulgast taas Kellaaeg. Niipalju, kui jagub täistunde, pannakse tundide alla. Mis aga tundideks jagamisest jäägina üle jääb, see muutub minutiteks. public static explicit operator Kellaaeg(int minutid){ return new Kellaaeg(minutid/60, minutid%60); } Ning omistamisel saabki minutid taas Kellaajaks.
ebatäpsemateks muutuda, või lihtsalt soovitakse, et kogemata ei tehtaks kirjeldatavat teisendust, siis tuleb lisada piiritlejaks sõna explicit. public static explicit operator double(Kellaaeg k){ //kohustuslik muunduse näitamine return k.Tund()+k.Minut()/60.0; } Sellisel juhul tuleb omistamisel sobivasse kohta kirjutada (double), et teisendusest asja saaks. Muidu annab kompilaator lihtsalt veateate. double tunnidPaevaAlgusest=(double)k1; Operaatorid võivad töötada ka teises suunas - ehk siis olemasolevast tüübist uue loodava tüübi poole. Siin näites tehakse minutite hulgast taas Kellaaeg. Niipalju, kui jagub täistunde, pannakse tundide alla. Mis aga tundideks jagamisest jäägina üle jääb, see muutub minutiteks. public static explicit operator Kellaaeg(int minutid){ return new Kellaaeg(minutid/60, minutid%60); } Ning omistamisel saabki minutid taas Kellaajaks.
muutuda, või lihtsalt soovitakse, et kogemata ei tehtaks kirjeldatavat teisendust, siis tuleb lisada piiritlejaks sõna explicit. public static explicit operator double(Kellaaeg k){ //kohustuslik muunduse näitamine return k.Tund()+k.Minut()/60.0; } Sellisel juhul tuleb omistamisel sobivasse kohta kirjutada (double), et teisendusest asja saaks. Muidu annab kompilaator lihtsalt veateate. double tunnidPaevaAlgusest=(double)k1; Operaatorid võivad töötada ka teises suunas - ehk siis olemasolevast tüübist uue loodava tüübi poole. Siin näites tehakse minutite hulgast taas Kellaaeg. Niipalju, kui jagub täistunde, pannakse tundide alla. Mis aga tundideks jagamisest jäägina üle jääb, see muutub minutiteks. public static explicit operator Kellaaeg(int minutid){ return new Kellaaeg(minutid/60, minutid%60); } Ning omistamisel saabki minutid taas Kellaajaks.