fork download
  1. using System;
  2.  
  3. internal class Caja : ISistemaInglesMedidas, ISistemaInternalMedidas
  4. {
  5. double anchoPulgadas;
  6. double largoPulgadas;
  7.  
  8. // Constructor
  9. public Caja(double ancho, double largo)
  10. {
  11. anchoPulgadas = ancho;
  12. largoPulgadas = largo;
  13. }
  14.  
  15. // Implementación explícita de los miembros de ISistemaInglesMedidas
  16. double ISistemaInglesMedidas.Ancho()
  17. {
  18. return anchoPulgadas;
  19. }
  20.  
  21. double ISistemaInglesMedidas.Largo()
  22. {
  23. return largoPulgadas;
  24. }
  25.  
  26. // Implementación explícita de métodos abstractos de ISistemaInternalMedidas
  27. double ISistemaInternalMedidas.Ancho()
  28. {
  29. return anchoPulgadas * 2.54;
  30. }
  31.  
  32. override double ISistemaInternalMedidas.Largo()
  33. {
  34. return largoPulgadas * 2.54;
  35. }
  36.  
  37. public static void Main()
  38. {
  39. Caja c = new Caja(20.0, 30.0);
  40.  
  41. // Uso del sistema inglés: declaración de un tipo ISistemaInglesMedidas
  42. ISistemaInglesMedidas sistemaIngles = (ISistemaInglesMedidas) c;
  43.  
  44. // uso del sistema internacional: declaración de un tipo ISistemaInternalMedidas
  45. ISistemaInternalMedidas sistemaInternalMedidas = (ISistemaInternalMedidas) c;
  46.  
  47. // Presentación de resultados en ambos sistemas
  48. Console.WriteLine("Ancho (pulgadas): {0}", sistemaIngles.Ancho());
  49. Console.WriteLine("Largo (pulgadas): {0}", sistemaIngles.Largo());
  50.  
  51. Console.WriteLine("Ancho (cm): {0}", sistemaInternalMedidas.Ancho());
  52. Console.WriteLine("Largo (cm): {0}", sistemaInternalMedidas.Largo());
  53. }
  54. }
  55.  
  56. interface ISistemaInglesMedidas
  57. {
  58. double Largo();
  59.  
  60. double Ancho();
  61. }
  62.  
  63. interface ISistemaInternalMedidas
  64. {
  65. double Largo();
  66.  
  67. double Ancho();
  68. }
Compilation error #stdin compilation error #stdout 0.04s 33872KB
stdin
Standard input is empty
compilation info
prog.cs(32,49): error CS0621: `Caja.ISistemaInternalMedidas.Largo()': virtual or abstract members cannot be private
prog.cs(32,49): error CS0106: The modifier `override' is not valid for this item
Compilation failed: 2 error(s), 0 warnings
stdout
Standard output is empty