fork download
  1. using System;
  2.  
  3. public class Test
  4. {
  5. class Wrapped
  6. {
  7. public int A {get; set;}
  8. public int B {get; set;}
  9. }
  10.  
  11. class Wrapper
  12. {
  13. public int X {get; set;}
  14. public Wrapped Y {get; set;}
  15. public Wrapper()
  16. {
  17. Y = new Wrapped
  18. {
  19. A = 5,
  20. B = 10
  21. };
  22. }
  23. }
  24.  
  25. public static void Main()
  26. {
  27. var demo1 = new Wrapper
  28. {
  29. X = 5
  30. };
  31. demo1.Y.B = 23;
  32.  
  33. var demo2 = new Wrapper
  34. {
  35. X = 5,
  36. Y = {B = 23}
  37. };
  38.  
  39. var demo3 = new Wrapper
  40. {
  41. X = 5,
  42. Y = new Wrapped {B = 23}
  43. };
  44.  
  45.  
  46. Console.WriteLine("Demo1 : MyClass.Y.A={0} B={1}", demo1.Y.A, demo1.Y.B);
  47. Console.WriteLine("Demo2 : MyClass.Y.A={0} B={1}", demo2.Y.A, demo2.Y.B);
  48. Console.WriteLine("Demo3 : MyClass.Y.A={0} B={1}", demo3.Y.A, demo3.Y.B);
  49. }
  50. // Define other methods and classes here
  51. }
Success #stdin #stdout 0.04s 23920KB
stdin
Standard input is empty
stdout
Demo1 : MyClass.Y.A=5 B=23
Demo2 : MyClass.Y.A=5 B=23
Demo3 : MyClass.Y.A=0 B=23