PDA

View Full Version : کار با لیست ها



Future
چهارشنبه 05 خرداد 1389, 16:27 عصر
سلام دوستان. من یه لیست دارم که یه سری اطلاعات را داخل یه فایل می ریزه. در قسمت نمایش اطلاعات داخل لیست باکس به مشکل بر خوردم. البته در حالت عادی اگه من همه کلاسها را داخل یه فایل قرار بدم مشکلی پیش نمی یاد. مشگل اینجاست که من از چند کلاس استفاده کرده.
ممنون میشم اگه بگید برای رفع مشکل چه باید کرد.

M.YasPro
چهارشنبه 05 خرداد 1389, 16:49 عصر
سلام


LstBox.Items.Add(ReadStudent(ITECH3219Student.Fr_n ame + " " + ITECH3219Student.Sr_Name + " " + ITECH3219Student.St_Id));

از این خط اشکال میگیره میگه :
ReadStudent یک متغیر هست ولی داره به عنوان متد ازش استفاده میشه .

شما خودت توی خط بالا این متغیر رو ساختی .

Future
چهارشنبه 05 خرداد 1389, 17:06 عصر
راستش میدونم این قسمت که می خوام اطلاعات رو توی لیست باکس نمایش بدم اشتباه هست. نمی دونم باید جه کار کرد. آخه یه کلاس در DAL دارم یکی در BLL و در قسمت آخر که اطلاعات را می خواد در presentation Layer نمایش بده مشکل دارم. نمی دونم چی باید بنویسم.
ممنون میشم اگه راهنمایی کنید

M.YasPro
چهارشنبه 05 خرداد 1389, 17:22 عصر
شما با معماری لایه ای آشنا هستید ؟
این کد رو خودتون نوشتید ؟


. آخه یه کلاس در DAL دارم یکی در BLL و در قسمت آخر که اطلاعات را می خواد در presentation Layer نمایش بده مشکل دارم. نمی دونم چی باید بنویسم.


اینا مبانی معماری لایه های هست .
توی سایت یه جستجو کوچیک کنین چیزای خوبی گیرتون میاد .
موفق باشید .

Future
چهارشنبه 05 خرداد 1389, 19:30 عصر
ممنون از راهنمایی تون. متوجه اشتباهاتم در برنامه قبلی شدم و آونا را برطرف کردم. ولی یه خطای دیگه میده که نمی دونم چی هست. میشه نظرتئن رو در مورد این فایل بدید و بگید باید برای رفع خطاش چکار کنم.

M.YasPro
پنج شنبه 06 خرداد 1389, 08:26 صبح
public void ReadStudentFile()
{
//FileStream flstream = new FileStream("c:\\student.dat",FileMode.Open,FileAccess.Read);
//BinaryFormatter BnFrmt = new BinaryFormatter();
//List<ITECH3219Student> list = (List<ITECH3219Student>)BnFrmt.Deserialize(flstream);
FileStream flstream = new FileStream("c:\\student.dat", FileMode.Open, FileAccess.Read);
BinaryFormatter BnFrmt = new BinaryFormatter();
List<ITECH3219Student> list = (List<ITECH3219Student>)BnFrmt.Deserialize(flstream);
return list;
}

این متد void هست یعنی چیزی رو بر نمیگردونه و شما متغیر list رو return کردید .



List<ITECH3219Student> studentList = ReadStudent.read();

خروجی تابع read از نوع string هست ولی شما میخواید توی یک List بریزید .



public string read()
{
Assignmnet2.Student_Manipulation read = new Assignmnet2.Student_Manipulation();
read.ReadStudentFile();
}


این متد هم باید یک متغیر string برگردونه که شما هیچ چی return نکردید .

این کد رو برای یادگیری trace میکنید ؟
اگر جوابتون بله هست ، نمونه های راحت تری هست که صرفا برای آموزش تولید شدند .

Future
پنج شنبه 06 خرداد 1389, 08:30 صبح
آره دوست عزیز. تازه شروع بکار با سی شارپ و ای اس پی کردم. یه ماهی میشه.

Future
پنج شنبه 06 خرداد 1389, 08:36 صبح
برای اینکه مشکل برنامه رو بخوام برطرف کنم چکار باید کرد.
خروجی تابع چی باید باشه

M.YasPro
پنج شنبه 06 خرداد 1389, 08:41 صبح
پست قبلی رو بخونید متوجه میشید .

Future
پنج شنبه 06 خرداد 1389, 08:54 صبح
من متوجه اشتباهم در برنامه شدم ولی مشکل اینجاست که نمی دونم چه نوعی باید تعریف کرد.

M.YasPro
پنج شنبه 06 خرداد 1389, 08:59 صبح
چی رو چه نوعی تعریف کنی ؟


List<ITECH3219Student> studentList = ReadStudent.read();

خوب تو خط بالا باید متد READ یه متغیر از نوع List<ITECH3219Student> باید برگردونه
بقیه هم به همین ترتیب