Prototype Pattern

So heute geht es um die mehrfach verwendung (Clonen) von Objekten

using System;

namespace PrototypePattern
{

    class Serienbrief
    {
        public String Empfaenger { get; set; }
        public String Titel { get; set; }
        public String Brieftext { get; set; }
        public String Absender { get; set; }
        public DateTime Datum { get; set; }

        public Serienbrief CloneMe(Serienbrief obj)
        {
            return (Serienbrief)this.MemberwiseClone();
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Serienbrief obj1 = new Serienbrief();
            obj1.Empfaenger = "Merlin";
            obj1.Titel = "Newsletter" ;
            obj1.Brieftext = "Lorem ipsum";
            obj1.Absender = "WebmasterBox";
            obj1.Datum = Convert.ToDateTime(DateTime.Now.ToShortDateString());

            Serienbrief[] objList = new Serienbrief[6];

            String[] nameList = { "Max", "Moritz", "Fritz", "Hans", "Otto", "Gustav" };

            int i = 0;

            foreach (String name in nameList)
            {
                objList[i] = obj1.CloneMe(obj1);
                objList[i].Empfaenger = name;
                i++;
            }

            // Ausgabe Seriebrief
            foreach (Serienbrief obj in objList)
            {
                Console.WriteLine("Empfänger:\t{0}" , obj.Empfaenger);
                Console.WriteLine("Titlel   :\t{0}", obj.Titel);
                Console.WriteLine("Inhalt   :\t{0}", obj.Brieftext);
                Console.WriteLine("Send By  :\t{0}" , obj.Absender);
                Console.WriteLine("Date \t :\t{0}", obj.Datum);
                Console.WriteLine("\n");
            }
            Console.ReadLine();
        }
    }
}

 

Kommentare sind geschlossen