
event, למשל public event AboveAverageSalaryHandler AboveAverageSalary;. המשתנה הזה מייצג את האירוע.AboveAverageSalary += new WriteToConsoleDelegate(writeToConsole);. ב-Visual Studio אפשר לכתוב את החלק += ולהקיש Tab, והסביבה תשלים את שאר השורה.AboveAverageSalary -= new WriteToConsoleDelegate(writeToConsole); מסירה את הפונקציה מרשימת הנרשמים.הטקסט המלא של הדקות הראשונות בהרצאה «אירועים - Events (הסבר נוסף)» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, ההרצאה היום תהיה הרצאת המשך להרצאה הקודמת שעסקה בדליגייט, אז אם אתם לא ראיתם את ההרצאה הקודמת שהנושא שלה היה דליגייט, אז כדי שתראו אותה כי היא קשורה קשר הדוק להרצאה הזאת שעוסקת באיבנטים.
אז בהרצאה הזאת אנחנו נלמד מה זה איבנט, איך אנחנו יוצרים איבנט בקוד ואיך משתמשים בו, וכמובן מה הקשר שלו להרצאה הקודמת שלמדנו שקשורה לדליגייט.
בואו נפתח את ה... בואו ניצור לנו פרויקט חדש מסוג של קונסול אפליקיישן נקרא לו Event Lesson בואו נתחיל בזה שניצור דליגייט כהמשך לשיעור הקודם אתם בוודאי מכירים כי זה היה בשיעור הקודם ניצור פה דליגייט שנקרא לו right to console delegate וכמובן
יצרנו פה דליגייט שהוא למעשה מצביע לפונקציה שלא מחזירה שום דבר וגם לא מקבלת שום דבר. אז בוא ניצור באמת פונקציה כזאת בקוד, פונקציה שלא מחזירה ולא מקבלת, נקרא לה write to console.
אוקיי, עכשיו בוא ניצור פה איזו רשימה של משכורות, רשימה שונה של טווחים של משכורות, בוא נגיד 5000, אני אעשה פה copy paste לזה שזה יהיה טיפה יותר מהיר, ניצור פה 6000, ופה 10,000, ופה 12,000.
עכשיו אני אמצור פה מערך של אינטים שיכול להכיל ארבעה איברים ואני אתן עכשיו למערך הזה, אכניס לתוך המערך הזה כל האיברים שמייצגים את המשכורות.
אעשה פה copy-paste לזה, 2 זה 3 וזה 4. אז רק כדי לחזור במהר מה עשיתי פה, יצרתי פה 4 משתנים שמייצגים סוגים שונים של משכורות, יצרתי פה מערך שמכיל ארבעה איברים, הכנסתי לתוך המערך הזה עכשיו את הארבעה האיברים האלה,
כל אחד באינדקס המתאים שלו, salary1 ב-0, זה ב-1, זה ב-2 וזה ב-3. עכשיו נמצא פה איזה משתנה גלובלי שנקרא לו Average salary, זה השכר הממוצע שנגיד שהוא 10,000. ועכשיו אני רוצה לעבור על כל אחד מהאיברים האלה, ועכשיו אני רוצה לעבור על כל אחד מהאיברים בתוך המערך הזה,
ואם האיבר בתוך המערך הזה הוא גדול, מה-overf salary אם הוא גדול מה-overf salary אני רוצה עכשיו לקרוא לפונקציה הזאת עכשיו אני כמובן יכול לקרוא לה בצורה כזאת write to console ואני גם יכול לקרוא לה כפי שלמדנו בשיעור הקודם בצורה הזאת אני יכול ליצור פה עכשיו אינסטנס של הדליגייט הזה write to console delegate נקרא לו del
ולהגיד לו שהפונקציה שלו תהיה write to console ואז פה אני פשוט מבצע את הדבר הבא אלה שתי האפשרויות, בוא נשים אותן רגע בהערה. השיעור של היום הוא עוסק בנושא של איבנטים.
אז קודם כל איבנטים זה אירועים שמתרחשים. דוגמאות לאירועים כאלה יכולים להיות הודעת שגיאה שהתרחשה או תהליך שהסתיים בהצלחה. אז כשקורים אירועים מסוימים בוא נגיד יש תוכנות או המשתמש צריך לקבל אינדיקציה שמשהו באמת הסתיים אוקיי?
אז אנחנו יוצרים פה משתנה שנקרא Event. המשתנה הזה למעשה הוא מייצג Event מסוים. שימו לב שאני משתמש פה במילה Event והיא מילה כחולה, זאת אומרת מילה שמורה, חלק מהשפה, ואני כותב את הדבר הבא:
פרייט הוא דליגנט ונקרא לו אבאב אבצלרי. אוקיי. אז מה שאני כתבתי פה למעשה זה יצרתי משתנה, המשתנה הזה הוא מסוג של Event, אוקיי?
ולמה יש פה את את הדליגייט הזה, מה הוא עושה פה? אז כשקורה איבנט מסוים, כשמתרחש אירוע מסוים, אני רוצה שמשהו יקרה, אוקיי?
אם קורה איזה אירוע מסוים, אני רוצה לבצע איזה פעולה מסוימת כתוצאה מהאירוע. בוא נגיד שהתרחשה שגיאה מסוימת, אני רוצה לידע את המשתמש, אוקיי, התרחשה שגיאה, אני אציג לך הודעת שגיאה.
אז צריכה להתבצע איזושהי פעולה מסוימת. אז הפעולה המסוימת בסופו של דבר זה איזו פונקציה שצריכה לפעול, והפונקציה שהיא תפעל היא פונקציה בהתאם לחתימה של הדליגייט הזה, וזה בסופו של דבר המשתנה שמייצג את האיבנט.