You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
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}");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|