PDA

View Full Version : سوال: ارسال پارامتر در تابع



shadidayan
یک شنبه 22 دی 1387, 19:41 عصر
با سلام
می خواهم متدی بنویسم که در آن چند متغییر را به صورت پارامتری به فرم دیگر پاس دهد اصلا این کار انجام می شود یا باید متغییر ها را فقط به صورت سراسری در نظر گرفت



private void pro_elam(int id, int sumkol, string name)
{
id=id_m;
sumkol=sum;
name= txtgerande.Text;
}

اوبالیت به بو
یک شنبه 22 دی 1387, 20:42 عصر
به اين مثال توجه كنيد:


ُScopt Form2:
public int Sum(int i, int j)
{
return i + j;
}
//....................................
Scope Form1:
int n = 2;
int m = 3;
Form2 obj = new Form2();
MessageBox.Show(obj.Sum(n, m).ToString());

هر متدي كه مي خواين ازش تو فرم ديگه آبجكت داشته باشين بايد Public باشه حتي متغير ها:


Form2:
public int FirstNumber,SecondNumber;
//........................
Form1:
obj.FirstNumber = 1;
obj.SecondNumber = 2;

shadidayan
یک شنبه 22 دی 1387, 21:35 عصر
با تشکر
انگار درست سوال نکردم.می خواهم اطلاعاتی را به صورت پارامتر به تابع فراخوان کننده ارسال کنم این کار در c به صورت var int یا var string یاهر نوع دیگر بود .در c# باید چه کار کرد.تابع فراخوان کننده در فرم دیگر می باشد.امیدوارم سوالم رو درست مطرح کرده باشم

pars.engineer
یک شنبه 22 دی 1387, 22:54 عصر
سلام،
خوب دوستمون obalitjoOon (http://www.barnamenevis.org/forum/member.php?u=47457) هم به همين سئوال پاسخ داده اند.
لازم به ذكر است كه منظور ايشان از Scope Form1 و Scope Form2 محدوده فرم 1 و فرم 2 است و به دليل خلاصه نويسي آنها را زير هم نوشته اند.(اصطلاحا به اينطور كد نويسي كه الگوريتم را توضيح مي دهد و قابل اجرا نيست شبه كد يا Pseduo Code مي گويند.) پس واضح است كه شما بايد آنها را جدا از يكديگر در نظر بگيريد.

در ضمن براي جلوگيري از Public كردن متدها يا متغيرها مي توانيد از Property ها استفاده كنيد.