רוב הProperties שאנחנו כותבים הם Properties שרק עושים אנקפסולציה לField של המחלקה.
למשל, לא אחת כתבנו Properties כאלה:
|
|
אחד הFeatureים שנוספו בC# 3.0 הוא Automatic Properties, החוסך לנו ליצור את הField של המחלקה. נוכל, למשל, בדוגמה זו לעשות אותו הדבר בצורה הבאה:
|
|
ראינו בעבר שגם אפשר לתת רמת חשיפה שונה לAccessorים ע"י ציון הmodifier לפני הAccessor. (טיפ מספר 25)
|
|
נוכל להשתמש בזה גם בAutomatic Properties:
|
|
או למשל
|
|
בכל מקרה, זה מאפשר לנו לממש ממשקים עם הרבה Properties יחסית בקלות, ומפשט לנו את הקריאות של הקוד מעט.
הגבלות:
לא נוכל לשים breakpoint בAutomatic Property, מה שיכול לפגוע בדיבוג שלנו. למשל, נוח לשים breakpoint בsetter ולגלות מי משנה לו את הערך לnull למשל.
לא נוכל לשים לוגיקה משלנו באחד מהAccessorים. למשל, אם אנחנו מממשים את INotifyPropertyChanged, לא נוכל להקפיץ את האירוע בשינוי של Property, אלא אם נשתמש בProperty רגיל.
לא נוכל להפוך Automatic Property לreadonly, כלומר לMember שאפשר לאתחל אותו רק בConstructor.
המשך שבוע השלמות טוב