fork download
  1. using System;
  2.  
  3. namespace Recetas.Ch01
  4. {
  5. public class Digito
  6. {
  7. public double Valor
  8. {
  9. get;
  10. set;
  11. }
  12.  
  13. public Digito(double valor)
  14. {
  15. Valor = valor;
  16. }
  17.  
  18. public static implicit operator double(Digito d)
  19. {
  20. return d.Valor;
  21. }
  22.  
  23. public static implicit operator Digito(double d)
  24. {
  25. return new Digito(d);
  26. }
  27. }
  28.  
  29. public class ClienteDigito
  30. {
  31. public static void Main()
  32. {
  33. Digito dig1 = new Digito(13);
  34.  
  35. // Conversión implícita: invocación del operador "double"
  36. double numero = dig1;
  37.  
  38. // Conversión implícita: invocación del operador "Digito"
  39. Digito dig2 = 17;
  40. Console.WriteLine("numero = {0} dig2 = {1}", numero, dig2.Valor);
  41.  
  42. Console.WriteLine();
  43. }
  44. }
  45. }
Success #stdin #stdout 0.03s 33904KB
stdin
Standard input is empty
stdout
numero = 13 dig2 = 17