Avatar billede MorDuC Nybegynder
15. marts 2014 - 09:52 Der er 10 kommentarer og
2 løsninger

Custom Explicit Conversion Method til Rectangle

Hej
Skal have lavet en extension method til, explicit at konvertere en Windows.Rect til en Rectangle i XNA frameworket.

så jeg foreksempel kan skrive (Rectangle)myRect
er det muligt?
og hvordan skal jeg gribe det an
Avatar billede Syska Mester
15. marts 2014 - 12:17 #1
Kan du ikke lave noget ala:

public static class ExtensionsToRect
{
public static Rectangle ToRectangle(this Rect input)
{
return new Rectangle(whatever ctor params is needed);
}
}

eller er det fordi du vil kunne gøre:

var rect = new Rect(ctor params)
Rectangle rectangle = rect;

mvh
Avatar billede Syska Mester
15. marts 2014 - 12:18 #2
Efter at have læst dit spm igen ... så vil jeg klart gå efter en Extensions method ...

Implicacit/Explicit conversions kan forvirre brugeren, hvis man ikke ved at man kan ...

mvh
Avatar billede arne_v Ekspert
17. marts 2014 - 03:15 #3
Jeg synes da absolut at en conversion operator er paenere en en extension metode.

Af praecis den grund som goer at man ikke kan bruge conversion operator her.

Der er ingen tvivl omkring conversion operators fordi de skal defineres i from/to klassen hvorimod extension metoder kan gemme sig hvor som helst.

Men det betyder jo ogsaa at man skal have adgang til at aendre i from/to klassen for at kunne lave en conversion operator.
Avatar billede MorDuC Nybegynder
17. marts 2014 - 07:38 #4
ok, så med disse "Built in" typer vil der ikke være mulighed for en conversion operator?
Avatar billede arne_v Ekspert
17. marts 2014 - 14:21 #5
Korrekt.
Avatar billede MorDuC Nybegynder
19. marts 2014 - 06:34 #6
super, smid et svar hver. så får i beggen lidt point
Avatar billede Syska Mester
20. marts 2014 - 10:38 #7
svar
Avatar billede Syska Mester
20. marts 2014 - 10:39 #8
Mht dette ...
"Der er ingen tvivl omkring conversion operators fordi de skal defineres i from/to klassen hvorimod extension metoder kan gemme sig hvor som helst."

Så kan de jo også gemme sig med mindre man ved de er der og at det er muligt :-)
Avatar billede arne_v Ekspert
20. marts 2014 - 16:36 #9
svar
Avatar billede arne_v Ekspert
20. marts 2014 - 16:37 #10
2 klasser er nemmere at checke end alle klasser.
Avatar billede Syska Mester
22. marts 2014 - 21:40 #11
Jeg kan ikke se problemet? Hvorfor vil du kigge alle klasse igennem?

Du kalder jo din extension method explicit ...

Som du også selv er inde på at problemet i det her tilfælde nok også at han ikke ejer nogen af de 2 typer han vil konvertere mellem.

Men det er nok smags små om man er "Extension" eller "operator" kind a guy.
Avatar billede arne_v Ekspert
23. marts 2014 - 03:33 #12
For at finde definitionen af den.

Men ja - jeg kan ikke komme i tanke om nogle funktionelle forskelle.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester