PDA

View Full Version : سوال: استفاده از نمونه کلاس در قسمت های دیگر



mehdihadeli
چهارشنبه 17 شهریور 1389, 21:22 عصر
چطوری میتونم از instance یک کلاس در متدی دیگر خارج از آن کلاس استفاده کنم؟

r00tkit
چهارشنبه 17 شهریور 1389, 22:06 عصر
اگه منظورتون از instance ایجاد یه نمونه از کلاس (شی) هستش خوب با new یه دونه ازش بسازید و استفاده کنید

mehdihadeli
چهارشنبه 17 شهریور 1389, 22:10 عصر
نمیخوام دوباره ازش instance ساخته بشه میخوام از همون instance قبلی استفاده کنم

cheshm6k
چهارشنبه 17 شهریور 1389, 22:51 عصر
سلام.

شی را بصورت global (سراسری) تعریف کنید.


class1 c=new class1();
void func1()
{
c.....
}
void func2()
{
c.....
}

#aliyari_C
پنج شنبه 18 شهریور 1389, 01:25 صبح
سلام
اگر یک شی به صورت global تعریف شه , نمی توان مدیریت حافظه خوبی برایش داشت
اگر می خواهی بین یک دو تا متد ازش استفاده کنی از ref استفاده کنی بهتره وگرنه همون که
رفیقمون که گفت global


private void button1_Click(object sender, EventArgs e)
{

Customer c = new Customer();


Fun(ref c);




}
public void Fun(ref Customer cp)
{
MessageBox.Show(cp.Name);
}

public class Customer
{
public Customer() { }
public Customer(int code, string Name)
{
this.code = code;
this.Name = Name;

}

public int code { get; set; }
public string Name { get; set; }


}

موفق و تندرست باشی
__________________________________________________ _________________________
چون به دریاه می توانی راه یافت.................سوی یک قطره چرا باید شتافت

mehdihadeli
پنج شنبه 18 شهریور 1389, 03:22 صبح
دوستان نميشه از this استفاده كرد؟

r00tkit
پنج شنبه 18 شهریور 1389, 04:55 صبح
سلام
اگر یک شی به صورت global تعریف شه , نمی توان مدیریت حافظه خوبی برایش داشت
اگر می خواهی بین یک دو تا متد ازش استفاده کنی از ref استفاده کنی بهتره وگرنه همون که
رفیقمون که گفت global
سلام

مگه الانم شما مدیریت حافظه می کنی نیازی هم به ref نیست کلاس ها value type هستن( مگر در شرایط خاص "یه سرچ کن")

this هم به شی جاری اشاره می کنه نه به شی ای که مورد نظرته

#aliyari_C
پنج شنبه 18 شهریور 1389, 16:05 عصر
مگه الانم شما مدیریت حافظه می کنی
نه قرار نیست من این کار رو کنم ,GC این کار رو انجام می ده.


نیازی هم به ref نیست کلاس ها value type هستن
اگر منظورت داخل متد است, که چگوته باهاش برخورد می شه!!
این تعریف MSDN


The ref method parameter keyword on a method parameter causes a method to refer to the same variable that was passed into the method.
پارامتری که از نوع ref باشد همان متغیری است که به آن پاس داده شده است.(یعنی اگر مرجع ,مرجع است و اگر مقداری است , که همان مقداری است.