PDA

View Full Version : بود یا نبود Proprty



hjran abdpor
سه شنبه 24 آذر 1388, 17:41 عصر
سلام..

میخوام بدونم بود یا نبود Proprty داخل یک کلاس چه اهمیتی داره؟ احتیاج داریم بهش یا نه؟


سوال 2
میتونیم یک تابع void بنویسم که دو عد را با هم جمع کند و مقدرا ان را بازگشت دهد؟؟توابع void چه کاری انجام میدن؟؟؟


مرسی اگه توضیح بدید؟

sunn789
سه شنبه 24 آذر 1388, 20:45 عصر
اول در مورد Void :
اگه شما تمابل داریدتا یک اشاره گر را نگهداری نمایید اما تمای ندارید تا تعیین کنید ان اشاره گر را به صورت یک یک اشاره گر void تعریف نمایید

Int*POinterToInt;
Void *pointerToVoid;
PointerToVoid = (Void* PointerToInt;)
کاربرداصلی این اشاره گر در مواقعی است که شما باید یک تابع API را فراخوانی نماییدکه نیاز مند پارامترهای Void* میباشد . در زبان C# موارد چندان زیادی برای به کار گیری اشره گر های Void وجود ندارد . مخصوصاً اینکه ، کمپایر در صورتی که سعی کنید یک اشاره گر Void را با استفاده از عملگر * بصورت derefrence در اورید یک خطا تولید خواهد کرد (In computer science, a reference is an object containing information which refers to data stored elsewhere)

Saeed.Masoumi
چهارشنبه 25 آذر 1388, 05:03 صبح
سلام
لطفا سوالات رو جدا از هم مطرح کنید:
برای سوال اول:
ببین همین طور که از اسم پروپرتی مشخصه با تعریف پروپرتی ها در داخل یک کلاس برای آن کلاس خاصیت تعریف می کنیم بستگی به شما وکلاس شما داره که آیا نیاز به خاصیت دارید یا خیر مثلا کلاس فرم را در نظر بگیرید این کلاس شامل تعداد زیادی خاصیت است به عنوان مثال شما در صورتی که بخواهید اندازه فرم را تغییر دهید میاید و خاصیت Size آن را تغییر می دهید حالا شما امکان دارد بخواهید این خاصیت را با پنل پروپرتیس خود محیط ویژوال تغییر دهید یا با استفاده از کد نویسی.
سوال دوم:
بله اما پرا همچین کاری می خواهید بکنید؟به جای Void در آن مثالی که ذکر کردید ازint (می دانم که می دانید) استفاده باید بکنید.
اما زمانی امکان دارد که یک تابع مقادیر بازگشتی زیادی داشته باشد به عنوان مثال تعداد زیادی از اعداد صحیح که در این صورت هم از int[] استفاده می کنیم
بعضی مواقع نیاز است چند نوع مقدار متفاوت را تابع شما باز گرداند که در این صورت می توان (تکرار می کنم می توان) از Arraylist استفاده کنید بعد در هنگام نیاز آن مقدار را تبدیل کنید(cast).
اما برای مواردی که فرضا شما می خواهید یک نوع تابع Void یک مقدار را برگرداند(:متفکر:) از دو نوع پارامتر ref , out استفاده می شود مانند مثال زیر:



private void SUM(int First, int Second, out int Sum)
{
Sum = First + Second;
}


و در هنگام فراخوانی :



int Resault=0;
SUM(5, 4,out Resault);
MessageBox.Show(Resault.ToString());


ولی توصیه می شود از این روش استفاده نشود برای اطلاعات بیشتر گوگل کنید.