|
|
|
@ -0,0 +1,48 @@ |
|
|
|
|
using Prototype.Prototypes; |
|
|
|
|
|
|
|
|
|
namespace Prototype |
|
|
|
|
{ |
|
|
|
|
internal class Program |
|
|
|
|
{ |
|
|
|
|
static void Main(string[] args) |
|
|
|
|
{ |
|
|
|
|
Person p1 = new Person(); |
|
|
|
|
p1.Age = 42; |
|
|
|
|
p1.BirthDate = Convert.ToDateTime("1977-01-01"); |
|
|
|
|
p1.Name = "Jack Daniels"; |
|
|
|
|
p1.IdInfo = new IdInfo(666); |
|
|
|
|
|
|
|
|
|
Person p2 = p1.ShallowCopy(); |
|
|
|
|
Person p3 = p1.DeepCopy(); |
|
|
|
|
|
|
|
|
|
Console.WriteLine("Original values of p1, p2, p3"); |
|
|
|
|
Console.WriteLine(" p1 instance value: "); |
|
|
|
|
DisplayValues(p1); |
|
|
|
|
Console.WriteLine(" p2 instance value: "); |
|
|
|
|
DisplayValues(p2); |
|
|
|
|
Console.WriteLine(" p3 instance value: "); |
|
|
|
|
DisplayValues(p3); |
|
|
|
|
|
|
|
|
|
Console.WriteLine(); |
|
|
|
|
|
|
|
|
|
p1.Age = 32; |
|
|
|
|
p1.BirthDate = Convert.ToDateTime("1900-01-01"); |
|
|
|
|
p1.Name = "Frank Daniels"; |
|
|
|
|
p1.IdInfo.IdNumber = 6767; |
|
|
|
|
|
|
|
|
|
Console.WriteLine("Values of p1, p2, p3"); |
|
|
|
|
Console.WriteLine(" p1 instance value: "); |
|
|
|
|
DisplayValues(p1); |
|
|
|
|
Console.WriteLine(" p2 instance value: "); |
|
|
|
|
DisplayValues(p2); |
|
|
|
|
Console.WriteLine(" p3 instance value: "); |
|
|
|
|
DisplayValues(p3); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static void DisplayValues(Person person) |
|
|
|
|
{ |
|
|
|
|
Console.WriteLine($" Name: {person.Name}, Age: {person.Age}, BirthDate: {person.BirthDate}"); |
|
|
|
|
Console.WriteLine($" ID#: {person.IdInfo.IdNumber}"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |