PDA

View Full Version : Object



hjran abdpor
شنبه 27 تیر 1388, 16:32 عصر
با سلام اگه میشه کمکح در مورد object در سی شارپ توضیح دهید .
کدی نوشته که خطای object میداد :
int i;
i=listbox1.items[listbox1.selectedtindex]
بعد متغییر را از نوع Object گرفتم خوب شد .
object i;

Unknownlive
شنبه 27 تیر 1388, 18:28 عصر
اولا اصلا معلوم نیست چی نوشتید
دوما چه پیغام خطای می ده
سوما بگید می خواهید چی کار کنید تا کد اونا بگم

hozouri
چهارشنبه 31 تیر 1388, 14:10 عصر
ببینید دوست عزیز object ها کلاسی است که در حافظه heap قرار می گیره و از نوع ارجاعی می باشد.

همه کلاس ها در C# از System.Object یا همون object ارث می برند یعنی ما هر کلاس یا نوع داده ای رو می تونیم به object تبدیل کنیم که به این کار می گن boxing ولی بلعکس این کار در صورتی صادقه که اون object با اون نمونه فیلد و یا کلاس یکی باشه که به این عمل هم می کن unboxing.

بعضی مواقع شما احتیاج پیدا می کنید مثلاً متدی رو بنویسید که در آن یک آرگومان عددی داریم :


private void metod(int arg)
{
}


حالا حساب کنید که این متد رو می خواهید گسترش بدید و آرگومان از نوع int64 هم بپذیره.
یه راهه حلش اینه که این متد رو overload کنید ولی راهه منطقیش می تونه این باشه که :



private void metod(object arg)
{
}


حالا توی این متد می تونید byte , int , int64, float و ... را ارسال کنید.
البته انواع دیگه هم مثل string می تونند به این متد ما ارسال بشن که ما به کمک کد نویسی این خطا رو باید برطرف نماییم.