Class שיורש מ-StreamReader - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

Class שיורש מ-StreamReader


moskitos

Recommended Posts

בשפת 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;
}
}

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

עשיתי משהו אבל יש לי בעיה, כשאני בודק עם הדיבגר אני רוצה לראות למשל את השורה שהכנסתי בקובץ טקסט (ממנו אמורה לקרוא התוכנית) אבל אני רואה שלא נכנס למשתנה 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();
}
}
}

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

אני לא ממש יודע איך לרשת מ-STREAMREADER אז חירבשתי משהו (שברור לי עכשיו שהוא לא טוב)

אני אמור לרשום קלאס שיורש מ-STREAMREADER וקורא כל פעם תו תו ומדפיס אותו (לא מדפיס בדיוק את כל התוים בנפרד אבל זה כבר לא חשוב כרגע)

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

אני חייב פה בתרגיל קונסטרקטור ?

האם מה שרשמתי פה נכון : (מתודה אחת בלבד בלי קונסטרקטור)

אני שפוט רוצה לקרוא כל פעם תו אחד מקובץ טקסט ולטפל בו

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)
{


}
}
}

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

עריכה:

התחלתי לכתוב מחדש והקונסטרקטור אני חושב אולי אני צריך לתת לו את הנתיב של בקובץ ככה: (למה הוא אומר לי 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;
}
}

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

חזרתי וקראתי קצת אבל עדיין זה לא יושב לי טוב, יש מצב שאתה עוזר לי רק עם ה-constructor ?

עריכה:

אני יכול לרשום דבר כזה ?

  public class BabyStreamReader : StreamReader
{




public BabyStreamReader(string Path)
{


}




איך אני בדיוק מכניס את ה-PATH לתוך האובייקט ?

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

כן, אתה יכול לרשום דבר כזה, אבל ככה הירושה שלך לא שווה כלום.

כשאתה תיצור אובייקט חדש מסוג BabyStreamReader אתה תכניס את הערך הזה. לדוג'


BabyStreamReader Reader=new BabyStreamReader(@"C:\blabla\blalas.txt")

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

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

ארכיון

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

×
  • צור חדש...