PDA

View Full Version : سوال: مقادیر صفات یک کلاس در سی شارپ



التفات
چهارشنبه 25 فروردین 1395, 14:28 عصر
سلام خدمت همه دوستان
میخواستم بدونم چطور میشه تو سی شارپ تمامی صفات یک کلاس رو از طریق یه تابع دیگه بدست آورد؟؟
یعنی یه تابع بنویسم وقتی نام کلاس رو بهش بدی تمامی صفات رو بهت بده
اصن میشه؟؟

ژیار رحیمی
پنج شنبه 26 فروردین 1395, 02:24 صبح
private void button4_Click(object sender, EventArgs e)
{
listBox1.DataSource = typeof(Person).GetProperties();
}
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string Family { get; set; }
public byte Age { get; set; }
}

التفات
جمعه 27 فروردین 1395, 06:18 صبح
خیلی ممنون واقعا دستتون درد نکنه

التفات
جمعه 27 فروردین 1395, 06:32 صبح
private void button4_Click(object sender, EventArgs e)
{
listBox1.DataSource = typeof(Person).GetProperties();
}
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string Family { get; set; }
public byte Age { get; set; }
}

موردی که هست چطور من میتونم مقادیر این صفات رو بدست بیارم؟؟؟

nunegandom
جمعه 27 فروردین 1395, 06:35 صبح
میشه یه توضیح بدید چطور میتونیم برای این صفات متغییر های dynamic درست کنیم؟

ژیار رحیمی
جمعه 27 فروردین 1395, 06:43 صبح
اگر ممکنه توضیح بدین با این روش می خوای چه چیزی رو پیاده سازی میکنی؟ شاید راه های بهتری هم برای پیاده سازی وجود داشته باشد
شما باید از کلاس یه آبجک بسازی و فقط به property ها و Method هایی دسترسی خواهی داشت که بصورت public و protectedتعریف شده باشند

var prs=new Person();
var getname = prs.Name;

nunegandom
جمعه 27 فروردین 1395, 06:59 صبح
یعنی چیزی نیست که بتونیم به صورت داینامیک متغییر بسازیم؟
مثلا این کلاس ما ۵ تا داره
یه کلاس دیگه ۱۰ تا داره
میخوام کل اینا رو با یه متود بگیریم و اونا رو پردازش کنیم
مثل اینکه یه آبجک اتوماتیک بسازه و هر پروپرتی رو بفرسته به یک متغییر
میخوام فقط یاد بگیرم شاید به کارمون بیاد

ژیار رحیمی
جمعه 27 فروردین 1395, 07:03 صبح
چرا میشه این کارو کرد در دو لینک زیر در این مورد بحث شده
http://stackoverflow.com/questions/20608922/dynamically-create-and-set-members-properties-of-class-at-runtime
http://stackoverflow.com/questions/15819720/dynamically-add-c-sharp-properties-at-runtime

التفات
جمعه 27 فروردین 1395, 17:06 عصر
اگر ممکنه توضیح بدین با این روش می خوای چه چیزی رو پیاده سازی میکنی؟ شاید راه های بهتری هم برای پیاده سازی وجود داشته باشد
شما باید از کلاس یه آبجک بسازی و فقط به property ها و Method هایی دسترسی خواهی داشت که بصورت public و protectedتعریف شده باشند

var prs=new Person();
var getname = prs.Name;

میخوام یه تابعی بسازم که تمامی صفات یک کلاس رو با مقادیرش بهم بده