פורסם 2009 ביוני 2616 שנים כתבתי שדות בתוך מחלקה: private bool bex; public bool Bex { set { this.bex = value; } get { return this.bex; } } }וכשאני באה לאתחל אותו בתכנית: this.Bex = true;אני מקבלת את השגיאה הבאה: An unhandled exception of type 'System.StackOverflowException' occurred in minip.exeמה הבעיה?
פורסם 2009 ביוני 2616 שנים את בטוחה שלא התבלבלת בטעות בין אותיות קטנות וגדולות? כלומר, לא עשית משהו כזה בטעות:private bool bex; public bool Bex { set { this.Bex = value; } get { return this.Bex; } }
פורסם 2009 ביוני 2616 שנים וכדי להמנע מאפילו האפשרות של מצב כזה, מקובל ברוב הקונבנציות התכנות לאסור על מזהים אשר שונים זה מזה רק ב-captilatization.במקום Bex ו-bex, אפשר לדוגמא Bex ו-m_bex.
פורסם 2009 ביוני 2716 שנים דווקא ב-#C זה לא ממש נהוג. (אבל כן, זה אחד החסרונות של properties) לפי מה שאתה אומר אז דווקא ב-C# כדאי שזה יהיה נהוג
פורסם 2009 ביוני 2716 שנים אם את עובדת עם visual studio 2008 את יכולה לחסוך הרבה כאב ראש ולהשתמש בסינטקס של auto-property. במקרה הזה מספיק לכתובpublic bool Bex {get; set;}(זה מחליף את כל מה שכתבת)
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.