none
this בבנאים RRS feed

  • שאלה

  • קראתי קצת על האפשרות שניתן לקפוץ באותה מחלקה מבנאי אחד לבנאי שני ע"י המילה השמורה this בליווי פרמטרים מתאימים לחתימת הבנאי, 
    במקור אחד ציינו שכדאי לרשום בנאי מרכזי אחד שיקבל כפרמטרים את כל תכונות המחלקה ויאתחל אותם ושאר הבנאים לא יכילו מימוש ורק יבצעו קריאות לבנאי המרכזי בליווי הפרמטרים שהם קיבלו + ערכי ברירת מחדל עבור שאר הפרמטרים שיש לאתחל.

    מישהו יכול להסביר לי את המטרה לשימוש this בבנאי ?

    דוגמא :

    public Car(string param1) : this(param1,"null")
    {
            Console.WriteLine("Constructor with one parameter called!");
    }
    
    public Car(string param1, string param2) 
    {
    Console.WriteLine("Constructor with two parameters called!"); this.p1 = param1;
    this.p2 = param2; }

    יום שלישי 14 אוגוסט 2012 09:19

תשובות

  • הסיבה פשוטה - code reuse. ככה נחסך מאיתנו כתיבה של אותו קוד פעמיים - בכל אחד מהבנאים.


    Please mark posts as answers/helpful if it answers your question.
    Senior Consultant on WCF, ASP.NET, Siverlight, and Entity Framework. Author of Microsoft's Official WCF 4 Course. Co-author of the Microsoft HPC/Azure burst whitepaper.
    Visit my blog: http://blogs.microsoft.co.il/blogs/idof

    • סומן כתשובה על-ידי razilanas יום שלישי 14 אוגוסט 2012 18:56
    יום שלישי 14 אוגוסט 2012 15:42
    מנחה דיון