פורסם 2011 באוגוסט 1914 שנים בשפת C#יש לי תרגיל שבו אני אמור לרשום Class שיורש מ-StreamReader עלמנת לקרוא כל פעם תו בודד, התחלתי לרשום אותו אבל אני מקבל שגיאת קומפילציה שאומרת 'System.IO.StreamReader' does not contain a constructor that takes 0 arguments שאין לי מושג מה זה אומר, זה ה-Class שלי (רק התחלתי לרשום אותו והשגיאה היא על שם ה-Class): public class BabyStreamReader : StreamReader { public int ReadNextInt() { return 1; } }
פורסם 2011 באוגוסט 1914 שנים מחבר עשיתי משהו אבל יש לי בעיה, כשאני בודק עם הדיבגר אני רוצה לראות למשל את השורה שהכנסתי בקובץ טקסט (ממנו אמורה לקרוא התוכנית) אבל אני רואה שלא נכנס למשתנה LINE הנתונים הנכונים (הכנסתי 5 תוים רצופים ויש לי בדיבגר 8), אני רוצה להבין את רושמים את ה-CLASS באופן נכון ואיך רושמים ככה שיקרא מקובץ הטקט:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace T380{ public class BabyStreamReader : StreamReader { public string line; public BabyStreamReader(string line = (@"D:\C#\ConsoleApplication1\Classes\T380\bin\Debug\File.txt")) : base(@"D:\C#\ConsoleApplication1\Classes\T380\bin\Debug\File.txt") { this.line = line; } public int ReadNextInt() { char c = (char)0; for (int i = 0; i < line.Length; i++) { c = line[i]; } return c; } } class Program { static void Main(string[] args) { BabyStreamReader InputFile = new BabyStreamReader(@"D:\C#\ConsoleApplication1\Classes\T380\bin\Debug\File.txt"); while (!InputFile.EndOfStream) { int num = InputFile.ReadNextInt(); Console.WriteLine(num); } Console.ReadLine(); } }}
פורסם 2011 באוגוסט 1914 שנים מה אמורה לומר השורה הזו:public BabyStreamReader(char (@"D:\C#\ConsoleApplication1\Classes\T380\bin\Debug\File.txt"))??לא ככה מגדירים constructor.
פורסם 2011 באוגוסט 1914 שנים מחבר הוספתי תיקון אבל עדיין יש לי בעיה בהגדרה הראשונית של הקלאס, אני לא יודע איך לרשום את זה נכון, אשמח להסבר.
פורסם 2011 באוגוסט 1914 שנים לא ברור לי מה אתה מנסה לעשות כאן. מה התפקיד של line? איפה אתה משתמש בכלל במתודות של StreamReader?
פורסם 2011 באוגוסט 1914 שנים מחבר אני לא ממש יודע איך לרשת מ-STREAMREADER אז חירבשתי משהו (שברור לי עכשיו שהוא לא טוב)אני אמור לרשום קלאס שיורש מ-STREAMREADER וקורא כל פעם תו תו ומדפיס אותו (לא מדפיס בדיוק את כל התוים בנפרד אבל זה כבר לא חשוב כרגע)
פורסם 2011 באוגוסט 1914 שנים מחבר אני חייב פה בתרגיל קונסטרקטור ?האם מה שרשמתי פה נכון : (מתודה אחת בלבד בלי קונסטרקטור)אני שפוט רוצה לקרוא כל פעם תו אחד מקובץ טקסט ולטפל בוusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace T380{ public class BabyStreamReader : StreamReader { public int ReadNextInt() { return 1; } } class Program { static void Main(string[] args) { } }}
פורסם 2011 באוגוסט 1914 שנים מחבר עריכה:התחלתי לכתוב מחדש והקונסטרקטור אני חושב אולי אני צריך לתת לו את הנתיב של בקובץ ככה: (למה הוא אומר לי identifier expected ?)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace T380{ public class BabyStreamReader : StreamReader { public BabyStreamReader(string @"D:\C#\ConsoleApplication1\Classes\T380\bin\Debug\File.txt"); { } public int ReadNextInt() { return 1; } }
פורסם 2011 באוגוסט 1914 שנים אם אתה לא יודע מה זה עושה, זה אומר שלא הבנת נכון מה זה בכלל בנאי (constructor) ואתה צריך לחזור שוב על החומר.
פורסם 2011 באוגוסט 1914 שנים מחבר אני מבין אבל עד עכשיו עבדתי עם קונסטרקטורים בלי קובץ חיצוני ועכשיו אני לא מבין את הוא אמור להיכנס לתוכנית
פורסם 2011 באוגוסט 1914 שנים מה זה "קובץ חיצוני"?תחזור שוב על קונסטרקטורים.תחזור שוב על ירושה.ותחזור שוב על קונסטרקטורים בירושה.
פורסם 2011 באוגוסט 1914 שנים מחבר חזרתי וקראתי קצת אבל עדיין זה לא יושב לי טוב, יש מצב שאתה עוזר לי רק עם ה-constructor ?עריכה:אני יכול לרשום דבר כזה ? public class BabyStreamReader : StreamReader { public BabyStreamReader(string Path) { }איך אני בדיוק מכניס את ה-PATH לתוך האובייקט ?
פורסם 2011 באוגוסט 1914 שנים כן, אתה יכול לרשום דבר כזה, אבל ככה הירושה שלך לא שווה כלום.כשאתה תיצור אובייקט חדש מסוג BabyStreamReader אתה תכניס את הערך הזה. לדוג'BabyStreamReader Reader=new BabyStreamReader(@"C:\blabla\blalas.txt")אם אתה מתעסק בירושה כבר אתה חייב (חייב!!!) להכיר את הסינטקס הזה ולהבין את כל העניין של ליצור אינסטנסים של אובייקטים, אחרת אתה סתם רץ ולא תרוויח מזה כלום. עכשיו לגבי הקונסטרקטור, הצלחת להשיג אובייקט מסוג סטרינג מהמשתמש בבנאי שלך, עכשיו תקרא לבנאי של המחלקה ממנה את יורש עם אותו הסטרינג. אחרת אתה סתם יורש מהמחלקה.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.