Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. class Child{
  2. public Child(Parent parent){Parent=parent;}
  3. public Parent Parent {get; private set;}
  4. }
  5. class Parent{
  6. // singleton child
  7. public Child Child {get;set;}
  8. //children
  9. private List<Child> _children=new List<Child>();
  10. public List<Child> Children { get {return _children;}}
  11. }
  12.  
  13. var child = new Child(parent);
  14. parent.Children.Add(child);
  15.  
  16. var child = new Child(parent1);
  17. parent2.Children.Add(child);
  18.  
  19. class Child{
  20. public Child(Parent parent){Parent=parent;}
  21. public Parent Parent {get; private set;}
  22. }
  23. class Parent{
  24. // singleton child
  25. private Child _child;
  26. public Child Child {get{return _child;}
  27. set{
  28. if (value.Parent != this) throw new Exception();
  29. _child=value;}}
  30. //children
  31. private List<Child> _children=new List<Child>();
  32. public ReadOnlyCollection<Child> Children { get {return _children;}}
  33. public void AddChild(Child child){
  34. if (child.Parent != this) throw new Exception();
  35. _children.Add(child);
  36. }
  37.  
  38. class Child{
  39. public Parent Parent {get; internal set;}
  40. }
  41. class Parent{
  42. // singleton child
  43. private Child _child;
  44. public Child Child {get{return _child;}
  45. set{
  46. value.Parent=this;
  47. _child = value;
  48. }}
  49. //children
  50. private List<Child> _children=new List<Child>();
  51. public ReadOnlyCollection<Child> Children { get {return _children;}}
  52. public void AddChild(Child child){
  53. child.Parent=this;
  54. _children.Add(child);
  55. }
  56. }
  57.  
  58. class Child{
  59. internal Child(Parent parent, init-params){Parent=parent;}
  60. public Parent Parent {get; private set;}
  61. }
  62. class Parent{
  63. // singleton child
  64. public Child Child {get; private set;}
  65. public void CreateChild(init-params) {
  66. var child = new Child(this, init-params);
  67. Child = value;
  68. }
  69. //children
  70. private List<Child> _children=new List<Child>();
  71. public ReadOnlyCollection<Child> Children { get {return _children;}}
  72. public Child AddChild(init-params){
  73. var child = new Child(this, init-params);
  74. _children.Add(child);
  75. return child;
  76. }
  77. }
  78.  
  79. new Child(){prop=value}
  80.  
  81. var c = parent.AddChild();
  82. c.prop=value;
  83.  
  84. //singleton
  85. class Child{
  86. public Child(ParentWithChild parent){
  87. Parent=parent;
  88. Parent.Child=this;
  89. }
  90. public ParentWithChild Parent {get; private set;}
  91. }
  92. class ParentWithChild{
  93. public Child Child {get;internal set;}
  94. }
  95.  
  96. //children
  97. class Child{
  98. public Child(ParentWithChildren parent){
  99. Parent=parent;
  100. Parent._children.Add(this);
  101. }
  102. public ParentWithChildren Parent {get; private set;}
  103. }
  104. class ParentWithChildren{
  105. internal List<Child> _children=new List<Child>();
  106. public ReadOnlyCollection<Child> Children { get {return _children;}}
  107. }
  108.  
  109. var parent = new ParentWithChildren();
  110. new Child(parent); //adds child to parent
  111. new Child(parent);
  112. new Child(parent);
  113.  
  114. var parent = new ParentWithChild();
  115. new Child(parent); // sets parent.Child
  116.  
  117. class Child{
  118. public Child(Parent parent){
  119. Parent=parent;
  120. Parent._children.Add(this);
  121. }
  122. public Parent Parent {get; private set;}
  123. }
  124. class Parent{
  125. //children
  126. internal List<Child> _children=new List<Child>();
  127. public ReadOnlyCollection<Child> Children { get {return _children;}}
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement