סוג מקונן

מְחַבֵּר: Lewis Jackson
תאריך הבריאה: 8 מאי 2021
תאריך עדכון: 15 מאי 2024
Anonim
C# Programming Tutorial - Nested Types
וִידֵאוֹ: C# Programming Tutorial - Nested Types

תוֹכֶן

הגדרה - מה המשמעות של סוג קינון?

סוג מקונן, ב- C #, הוא סוג שהוכרז בתוך מחלקה או מבנה קיים. בניגוד לסוג שאינו מקונן, המוצהר ישירות בתוך יחידת קומפילציה או במרחב שמות, סוג הקינון מוגדר במסגרת הסוג המכיל (או החיצוני).

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

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


מבוא ל- Microsoft Azure ו- Microsoft Cloud | במהלך מדריך זה תוכלו ללמוד על אודות מיחשוב ענן וכיצד Microsoft Azure יכולה לעזור לכם להעביר ולנהל את העסק שלכם מהענן.

Techopedia מסביר את Nested Type

ניתן לגשת לסוג מקונן מכל מקום שבתוכנית על ידי הכרזתו ברמת נגישות ציבורית ושימוש בשמה המלא.

לדוגמה, כתובת אינפורמציה יכולה להיות סוג מקונן המוצהר בסוג עובד, וניתן לגשת אליו בשמו המלא, Employee.AddressInformation.

לסוג הקינון יש מאפייני המפתח הבאים:

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


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