بدست آوردن property های یک کلاس در لحظه اجرا
سه شنبه 19 خرداد 1394در این مقاله قصد دارم بهتون یاد بدم چگونه در زمان اجرای برنامه بتونید لیست property های یک کلاس را بدست بیارید.معمولا اینکار برای ساخت گزارش های داینامیک و کوئری های داینامیک استفاده میشود .
خب در ابتدا یک پروژه ایجاد میکنیم
من نام پروژه را GetProperties_Example قراردادم .
سپس یک کلاس بانام person ایجاد کردم و داخل آن 3 property قرار دادم
class Person { public int PersonID { get; set; } public string PersonName { get; set; } public int PersonAge { get; set; } }
در قسمت بعدی باید از Reflection استفاده کنیم
فضای نام using System.Reflection را اضافه کنید
در مرحله یک متد با نام GetProperties میسازیم تا یک آبجکت به عنوان ورودی دریافت میکند و اطلاعات مورد نیاز را برمیگرداند .
private static PropertyInfo[] GetProperties(object obj) { return obj.GetType().GetProperties(); }
کد زیر هم استفاده از متد و نمایش property ها می باشد
Person p=new Person(); var properties = GetProperties(p); foreach (var propertyInfo in properties) { Console.WriteLine(propertyInfo.Name); } }
خروجی کار به شکل زیر است
- C#.net
- 3k بازدید
- 3 تشکر