Op msndn las ik dat MemberwiseClone een shallow copy van een object maakt.
Dit betekend toch dat hij bij een reference type alleen de pointer kopierd en niet het object zelf. Maar waarom komt er bij de volgende code dan "dit is nummer 1" uit ?.
Dit betekend toch dat hij bij een reference type alleen de pointer kopierd en niet het object zelf. Maar waarom komt er bij de volgende code dan "dit is nummer 1" uit ?.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| class test { public test(string str) { testString = str; } public string testString= "Niks"; public test Clone() { return (test)this.MemberwiseClone(); } } class Program { static void Main(string[] args) { test t = new test("dit is nummer 1"); test t2 = t.Clone(); t2.testString = "dit is nummer 2"; Console.WriteLine(t.testString); //Er komt uit : dit is nummer 1 Console.ReadLine(); } } |