PDA

View Full Version : خالی کردن مقدارهای پراپرتی های کلاس



jmfnima
یک شنبه 26 مرداد 1393, 20:21 عصر
با سلام به همه دوستان
میخواستم بدونم چطوری میشه مقدارهای پراپرتی های تعریف شده در یک کلاس رو خالی کرد ؟؟

اسماعیل ابراهیمی
دوشنبه 27 مرداد 1393, 21: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, 12:38 عصر
با تشکر از شما دوست عزیز
چون تعداد پراپرتی های زیاد هست اینکار خیلی وقت گیره میخواستم یک متد تعریف کنم که داخلش یک حلقه باشه و این حلقه بر اساس نوع پراپرتی توی کلاس بگرده و بر اساس نوع پراپرتی عملیات خالی کردن پراپرتی ها رو انجام بده ولی نمیدونم این حلقه رو چطوری بنویسم.

اسماعیل ابراهیمی
سه شنبه 28 مرداد 1393, 22: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, 22:30 عصر
خب هدف از خالی کردن چیه اگر واقعا بخاطر صرفه جویی در منابع هست خب چرا اینترفیس Idisposeable رو پیاده سازی نمیکنه