View Full Version : خالی کردن مقدارهای پراپرتی های کلاس
jmfnima
یک شنبه 26 مرداد 1393, 21:21 عصر
با سلام به همه دوستان
میخواستم بدونم چطوری میشه مقدارهای پراپرتی های تعریف شده در یک کلاس رو خالی کرد ؟؟
اسماعیل ابراهیمی
دوشنبه 27 مرداد 1393, 22:55 عصر
کافیه یه اینیشالایزر و سازنده برای کلاست تعریف کنی و از داخل سازنده اینیشالایزر رو فراخونی کنی
مثال :
public class Truck {
public string Name;
public int Tires;
public Truck() {
Init();
}
public void ResetTruck() {
Init();
}
private void Init() {
Name = "Super Truck";
Tires = 4;
}
}
jmfnima
سه شنبه 28 مرداد 1393, 13:38 عصر
با تشکر از شما دوست عزیز
چون تعداد پراپرتی های زیاد هست اینکار خیلی وقت گیره میخواستم یک متد تعریف کنم که داخلش یک حلقه باشه و این حلقه بر اساس نوع پراپرتی توی کلاس بگرده و بر اساس نوع پراپرتی عملیات خالی کردن پراپرتی ها رو انجام بده ولی نمیدونم این حلقه رو چطوری بنویسم.
اسماعیل ابراهیمی
سه شنبه 28 مرداد 1393, 23:18 عصر
با یک مثال براتون توضیح میدم
یک کلاس به شکل زیر داریم :
class Class1
{
public string a { get; set; }
public int b { get; set; }
}
حالا با کد زیر می تونیم برای همه پراپرتی های کلاس یک سری دستور رو اجرا کنیم
در کد زیر من فقط نوع اونها رو چاپ کردم ، شما می تونید بر اساس نوع اونها رو خالی کنید . مثلاً اگر رشته ای هست برابر با "" و اگر عددی هست برابر با 0 قرار بدین یا هر چیز دیگه ای
Class1 esmail=new Class1 ();
System.Reflection.PropertyInfo[] ebrahimi = esmail.GetType().GetProperties();
foreach (System.Reflection.PropertyInfo item in ebrahimi)
{
MessageBox.Show(item.PropertyType.ToString());
}
esafb52
سه شنبه 28 مرداد 1393, 23:30 عصر
خب هدف از خالی کردن چیه اگر واقعا بخاطر صرفه جویی در منابع هست خب چرا اینترفیس Idisposeable رو پیاده سازی نمیکنه
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.