בהמשך לטיפ היומי של אתמול,
הכרנו קצת את PropertyInfo וראינו איך לעשות איתו דברים דומים לדברים שעשינו עם MethodInfo.
כידוע, Property הוא בסה”כ Syntactic Sugar למתודה שמחזירה ערך ולא מקבלת פרמטרים (מתודת Get) ומתודה שמקבלת ערך ולא מחזירה ערך (מתודת Set)
למשל, הProperty הזה
|
|
מתקמפל מאחורי הקלעים למשהו כזה:
|
|
ייתכן ונרצה להשתמש בMethodInfo של המתודות האלה, למשל אם כתבנו פונקציה שיודעת לטפל בMethodInfo ייתכן ונרצה לשלוח אליה את הGetter/Setter של הProperty. במקרה כזה יחסך לנו שכפול קוד, במקום שנצטרך לכתוב מתודה נוספת שמשתמשת בGetValue במקום בInvoke שלMethodInfo.
כדי לעשות זאת, מסתבר שיש מתודות בשם GetGetMethod וGetSetMethod המאפשרות לנו להשיג את המתודות הנ"ל:
|
|
לזכור ולא לשכוח