PDA

View Full Version : چگونه مي توانم با اشياي يك كلاس در دستور Foreach كار كنم



shaki_phd
چهارشنبه 30 بهمن 1387, 16:21 عصر
سلام

من يك كلاس دارم به شكل زير




class Rssitem

}
private string item = null;
private string title = null;

public string Item
{
get { return item; }
set { item = value; }
}
public string Title
{
get { return title; }
set { title = value; }
{


من ميخوام با دستور Foreach تو اشياي اين كلاس loap بزنم اما نميدونم چه كار بايد بكنم ممنون ميشم اگه كسي راهنماييم كنه

notelo
چهارشنبه 30 بهمن 1387, 17:55 عصر
سلام دوست عزیز

این کلاسی که شما نوشتین فقط دو فیلد داره که لزومی برای Foreach نداره برای دسترسی به اونها:خجالت:

حامد مصافی
چهارشنبه 30 بهمن 1387, 18:21 عصر
در مورد Reflection در همین سایت جستجو کنید.

linux
چهارشنبه 30 بهمن 1387, 20:05 عصر
سلام

من يك كلاس دارم به شكل زير



classRssitem


}


privatestring item = null;
privatestring title = null;

publicstring Item
{
get { return item; }
set { item = value; }
}
publicstring Title
{
get { return title; }
set { title = value; }
{



من ميخوام با دستور Foreach تو اشياي اين كلاس loap بزنم اما نميدونم چه كار بايد بكنم ممنون ميشم اگه كسي راهنماييم كنه



این کلاس که یک کالکشن نیست می توانی اشیایی از این کلاس را به یک List اضافه کنی و سپس در آن لیست می توانی کار کنی

shaki_phd
چهارشنبه 30 بهمن 1387, 21:50 عصر
سلام
یکی اینکه من کلاسم رو کامل ننوشتم تعداد فیلدهاش زیاده بعدش من هیچ وقت از خرکاری خوشم نمیاد:قهقهه:
دوم اینکه میشه مثال بزنید من بازهم با استفاده از لیست نتونست از Foreach استفاده کنم

Rezaoli
پنج شنبه 01 اسفند 1387, 00:55 صبح
http://www.elemenex.com/index.php?option=com_content&view=article&id=11:lists-in-c&catid=7:c&Itemid=8

majid325
پنج شنبه 01 اسفند 1387, 02:32 صبح
روشي كه آقاي BlackDal معرفي كردن جالبتره (صرفا جالبيش مهم نيست )
http://barnamenevis.org/forum/showthread.php?t=147752&highlight=Reflection

linux
پنج شنبه 01 اسفند 1387, 08:29 صبح
سلام
یکی اینکه من کلاسم رو کامل ننوشتم تعداد فیلدهاش زیاده بعدش من هیچ وقت از خرکاری خوشم نمیاد:قهقهه:
دوم اینکه میشه مثال بزنید من بازهم با استفاده از لیست نتونست از Foreach استفاده کنم



List<Rssitem> lst = new List<Rssitem>();


for (int i = 0; i < 5; i++)
{
Rssitem rss = new Rssitem();
rss.Item = i.ToString();
rss.Title = "Titel" + i.ToString();
lst.Add(rss);
}
foreach (Rssitem rss in lst)
{
MessageBox.Show(string.Format("{0} {1}", rss.Item, rss.Title));
}

یک کتاب خوب بخر و بخوان

Sorenaa_s
پنج شنبه 01 اسفند 1387, 12:00 عصر
class Program
{
static void Main(string[] args)
{
Person p = new Person();
p.Name = "S";
p.Family = "G";

System.Reflection.PropertyInfo[] props = p.GetType().GetProperties();

foreach (System.Reflection.PropertyInfo pi in props)
{
string val = pi.GetValue(p, null).ToString();
Console.WriteLine(val);
pi.SetValue(p, val + "1", null);

}


Console.ReadLine();
}
}

class Person
{
public string Name { get; set; }

public string Family { get; set; }
}