ציון ארגומנטים אופציונליים עבור ארגומנטי מבנה

תאריך יצירת דף :

ארגומנטים אופציונליים מאפשרים לך לתת ערך התחלתי לארגומנט מבלי לבצע העמסת יתר לפעולת שירות עם מספר שונה של ארגומנטים.

עם זאת, ניתן לציין רק קבועים כגון "10", "לדוגמה" ו-"null" כארגומנטים אופציונליים, ואין באפשרותך לציין ערך שנוצר בחדש או מוגדר על-ידי קריאה סטטית בלבד שנקבעת כאשר התוכנית פועלת.

הדבר נכון גם אם המבנה הוא ויכוח. לדוגמה, אם הסוג הוא IntPtr, אין באפשרותך לציין את IntPtr. Zero כערך ההתחלתי. אין אפשרות לציין 0 והוא אינו יכול להיות null מכיוון שהוא מבנה. (הגדרה מאפשר לך לציין null, אך לא כולל מכיוון שסוג הארגומנט משתנה).

באפשרותך להשתמש באפשרות "default (T)" כדי להשתמש במבנה כארגומנט אופציונלי.) הדבר מקביל לערך שנוצר ב-T החדש ().

public void DoAction(IntPtr handle = default(IntPtr))
{
  // 処理
}

באפשרותך לציין 0 או null רק עבור כל ערך במבנה, כך שיהיה עומס יתר על השיטה אם ברצונך לתת ערך התחלתי בנפרד.