קוד לפתיחת קובץ ב#c. - עמוד 5 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

קוד לפתיחת קובץ ב#c.


eido300

Recommended Posts

  • תגובות 101
  • נוצר
  • תגובה אחרונה

הוא כותב לי שגיאה:

Error 1 'System.Collections.Generic.List<AlramClock.AlramClock>' does not contain a definition for 'time' and no extension method 'time' accepting a first argument of type 'System.Collections.Generic.List<AlramClock.AlramClock>' could be found (are you missing a using directive or an assembly reference?)

קישור לתוכן
שתף באתרים אחרים

לא, אני מתכוון של-List אין שדה שנקרא time. כלומר, אם יש לך אובייקט בשם x מטיפוס List (או <List<AlarmClock במקרה שלך) אז אין כזה דבר x.time.

הקומפיילר מצביע על שורת הקוד הבעייתית. תסתכל עליה.

קישור לתוכן
שתף באתרים אחרים

אם אין כזה שדה time, איך אני יכול לאתחל את השדות של המחלקה?

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

כאן זה יותר ברור.

קישור לתוכן
שתף באתרים אחרים

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

אני לא מבין למה התעקשת לגשת לשדה test ברשימה, במקום באובייקט ה-AlarmClock שיצרת. אפשר לראות את הקוד שניסית לכתוב קודם?

קישור לתוכן
שתף באתרים אחרים

תודה רבה.

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

איך עושים בלי בנאי? (נראה לי שהבנאי קצת מסבך את העניינים).

אני לא מבין למה התעקשת לגשת לשדה test ברשימה, במקום באובייקט ה-AlarmClock שיצרת.

לא ממש הבנתי למה אתה מתכוון.

אפשר לראות את הקוד שניסית לכתוב קודם?

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

קישור לתוכן
שתף באתרים אחרים

אני עוד לא ממש ניסיתי לכתוב את הפונקציה, קודם כל עשיתי נסיונות לראות איך עובד (כמו שאמרת אני לא רוצה להיות כמו תוכי;)), פשוט הוספתי לקוד מחלקה, יצרתי מערך (list) וניסתי לעדכן את המשתנים זה היה ככה בערך:זה המחלקה



class AlramClock
{
string file_name, file_safe_name;
DateTime time;
bool save_alram = false;
}

וזה הקוד ה"סורר"


demo.Add(time = DateTime.Parse(TimeToAlram.Text));
List<AlramClock> demo = new List<AlramClock>();

ניסיתי את זה בכמה צורות ושום דבר לא הצליח.

נ.ב. המון תודה רבה על כל התשובות והסבלנות, ע"פ מה שכתוב אצלי היו בינינו 74 הודעות (ורק בתרגיל הזה!) אז באמת תודה רבה.

קישור לתוכן
שתף באתרים אחרים

איך ציפית שמה שעשית יעבוד?

המתודה List.Add מקבלת פרמטר אחד מהטיפוס הגנרי של ה-List. כלומר במקרה שלך היא מקבלת אובייקט מסוג AlarmClock. אז מה לעזאזל אתה מנסה לעשות שם עם ה-time?

בשביל להוסיף אובייקט לרשימה אתה צריך להשיג איכשהו אובייקט מסוג AlarmClock (לדוגמה, ע"י יצירתו באמצעות new) ואז להעביר אותו למתודה Add.

במקרה שלך, יצרת את הרשימה (שמשום מה קראת לה demo במקום השם ההגיוני יותר - list) אבל בשום מקום לא יצרת אובייקט AlarmClock לשים בתוכה.

זה נראה כאילו מה שאתה עושה זה הרבה ניסוי וטעיה, בלי באמת להבין מה הקוד שלך עושה. מאיזה מקור אתה לומד?

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.


×
  • צור חדש...