
InvalidCastException. בלחיצה על כפתור הכלי אי אפשר לדעת מה נמצא ברשימה.DrawLine בין שתי הנקודות שלו, בלי לולאה.הטקסט המלא של הדקות הראשונות בהרצאה «פרויקט מעשי ב-#C - תוכנת צייר - חלק 20» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
טוב אז בשיעור הקודם הכל עבד יפה מאוד עד שהגענו לנקודה של הפיינט בפיינט הכל קרה אז אם נצייר שוב free hand ונגרום לפיינט להתרחש אז לא תהיה קריסה נוסיף אולי line ונגרום לפיינט להתרחש ויש לנו קריסה מה בעצם קרה הוא אומר שיש לנו invalid cast exception wasn't handled טוב בכלל לא טיפלנו בפיינט אני יכול לקחת אובייקט of type line to
freehand. יש שם line ולא freehand. אוקיי, אז מה אנחנו עושים כאן? פה זה כבר לא יהיה טריוויאלי. אנחנו לא יכולים להסתמך על מצב הכפתור הלחוץ כדי להחליט אם זה freehand או line.
הפעם אנחנו צריכים להחליט מה יש לנו בפנים, מה בעצם קיבלנו, איך נדע שבעצם יש לנו freehand או line. השאלה היא איך הוא יודע שיש שם בעצם, נכון?
אם הוא צריך לעשות אובייקט בטייפ ליין, הוא אומר, יש שם ליין. אתה מנסה להמיר אותו לפרי-הנד, אבל הוא ליין. אהה.
אז אם הוא יודע שהוא ליין, אז אולי גם אנחנו יכולים לדעת שהוא ליין. בואו נראה. בואו נעשה עוד הריצה. בואו נגיד שיכול להיות שם בעצם כל דבר.
נשים פה אובייקט. אובייקט זה בעצם כל דבר, נקרא לו או. ופה נשאל, אם או is free-hand, אז ככה וככה, זה כמו שהיה עד היום, לולאה וכולי.
אבל רגע, אבל אין לנו פה את freehand, אז ניצור freehand מתוך o, נעשה פה casting ל-freehand, ואם זה freehand ואם זה line, אז נגדיר פה line l שווה ל-line מתוך o, זה נוציא, ובמקום FA נשים L. יפה, אבל אנחנו לא מציירים באותה שיטה.
למעשה אנחנו לא צריכים תלולאה, אנחנו בסך הכל צריכים קריאה אחת פשוטה. אנחנו רוצים לצייר על ידי P אמנם מ-L.P1X ל-L.P1Y ל-L.P1Y.
E2X אל נקודה 2Y. בואו נריץ את זה.