PDA

View Full Version : سوال: دو نوع خروجی از یک تابع !!!!!؟؟؟؟



bermouda_admin
شنبه 29 فروردین 1388, 12:16 عصر
سلام .
من یه تابه Private نوشتم که خروجی آن Dataset هست. حالا میخوام یه خروجی دیگه هم داشته باشه از نوع Bool . یعنی هر دو اینها را داشته یاشه ----> return ds; return True;
چه کار کنم ؟

:عصبانی++:

kiosksoft
شنبه 29 فروردین 1388, 12:51 عصر
دوست عزیز یک تابع فقط میتواند یک خروجی داشته باشد , اما به این روش میتوانید نتیجه درخواستی خود را از تابع بگیرید . یعنی به تعداد مورد نیاز خروجی بگیرید.



private datatable function1(ref bool blnResult1)
{
blnResult1=true;

return dt;
}

bermouda_admin
شنبه 29 فروردین 1388, 13:50 عصر
میشه یه کم بیشتر توضیح بدین ؟
ممنون میشم.

kiosksoft
شنبه 29 فروردین 1388, 14:31 عصر
ببین دوست من , کلمه ref زمانی استفاده میشود که بخواهیم از مقدار آن در خارج از تابع استفاده کنیم

یعنی مثلا اگر مقدار پارامتر هنگام فراخونی 1 باشد , اگر داخل تابع تغییری روی این پارامتر ایجاد شود این مقدار در خارج تاب یعنی جایی که فراخوانی شده قابل دستیابی میباشد.

مثلا :




private datatable function1(ref bool blnResult1)
{
blnResult1=true;

return dt;
}






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

blnResult = false;
datatable dt;

dt = function1(ref blnResult);

اکنون هم مقدار متغیر dt رو داریم , هم اینکه متغیر blnResult هم در تابع تغییر کرده است و اینجا میتونیم ازش استفاده کنیم.

یعنی الان blnResult = true میباشد.