Пример #1
0
        static void Main(string[] args)
        {
            PermanentEmployee permanentEmployee = new PermanentEmployee();

            permanentEmployee.Name           = "Sam";
            permanentEmployee.Age            = 25;
            permanentEmployee.EmploymentType = "Permanent";

            PermanentEmployee permanentEmployeeClone = (PermanentEmployee)permanentEmployee.ShallowClone();

            permanentEmployeeClone.Name = "Tom";
            permanentEmployeeClone.Age  = 30;

            PermanentEmployee p = (PermanentEmployee)permanentEmployee.DeepClone();

            p.Name = "Kim";
            p.Age  = 35;

            Console.WriteLine("Permanent Employee Details");
            Console.WriteLine("Name: {0}; Age: {1}; Employment Type: {2}", permanentEmployee.Name, permanentEmployee.Age, permanentEmployee.EmploymentType);

            Console.WriteLine("Cloned Permanent Employee Details");
            Console.WriteLine("Name: {0}; Age: {1}; Employment Type: {2}", permanentEmployeeClone.Name, permanentEmployeeClone.Age, permanentEmployeeClone.EmploymentType);

            Console.WriteLine("Cloned Permanent Employee Details");
            Console.WriteLine("Name: {0}; Age: {1}; Employment Type: {2}", p.Name, p.Age, p.EmploymentType);



            Console.ReadLine();
        }
Пример #2
0
        public object DeepClone()
        {
            PermanentEmployee permanentEmployee = new PermanentEmployee(this.Name, this.Age, this.EmploymentType);

            return(permanentEmployee);
        }