PDA

View Full Version : تابع invoke



fkaz_fkaz
چهارشنبه 20 مرداد 1389, 23:53 عصر
سلام به همه
خوبین؟
بچه ها اگه میشه یکی در مورد تابع invoke توضیح بده...توی نت سرچ زدم توضیحات دقیقی نیافتم...help خود visual رو هم نگاه کردم زیاد کامل نبود واسم
مرسی@};-

مثلا من دقیق منظور این تکه کد رو متوجه نمی شم:

private void DoFunction(ThreadShowControl[] tsc, string method)
{
for (int counter = 0; counter < tsc.Length; counter++)
{
tsc[counter].GetType().GetMethod(method).Invoke(tsc[counter], null);
}
}

mehrsa_fr
پنج شنبه 21 مرداد 1389, 08:59 صبح
Invoke موقع استفاده از Thread ها استفاده میشه برای Object ها چون در حالت عادی از Thread ها نمیتونی از Object استفاده کنی

mehrsa_fr
پنج شنبه 21 مرداد 1389, 09:01 صبح
این مثالم نگاه کن شاید بهتر کمکت کنه
http://barnamenevis.org/forum/showthread.php?t=231491

mohammad272005
جمعه 22 مرداد 1389, 15:06 عصر
Invoke موقع استفاده از Thread ها استفاده میشه برای Object ها چون در حالت عادی از Thread ها نمیتونی از Object استفاده کنی
البته گفته شما درسته و در تکمیلش کد زیر رو مثال میزنم:

Action updateUI = null;
updateUI = delegate
{
if(this.InvokeRequired)
{
this.invoke(updateUI);
return;
}
nameTextBox.Text = "Ali";
};
updateUI(); ولی اونچه من توی کد اصلی میبینم، reflection هست. خب البته بحث نسبتا بزرگیه. خلاصه قضیه اینه که از روی یه Type شما به memberهای اون Type دسترسی پیدا کنی و objectی که instance همون Type هست و مقدار بدی یا مقادیرشو بخونی.

خسرو خان
شنبه 15 مهر 1391, 10:43 صبح
invoke دستور نیست یک متد است و در دات نت خیلی از چیزها این متد را دارند. اما بیشترین مورد استفاده برای کنترل هاست که برای اجرای یک delegate در تردی که کنترل مورد نظر در آن ایجاد شده بکار می روند. مثلا اگر شما یک ترد جدید درست کرده باشی که بخواد در کنترلی که در ترد اصلیت درست شده تغییری بده متد invoke اون کنترل را صدا میزنی و delegate یک تابع ر بهش میدی تا اون تابع اون تغییر را بده.

AminAiden
پنج شنبه 06 آبان 1400, 01:25 صبح
تا جایی که من فهمیدم
وقتی داریم روی thread یا هر بخشی که بهش مربوط باشه نمیتونیم به object ها یا جزئیاتشون دسترسی داشته باشیم و با استفاده از متد invoke به عنوان یه مترجم یا پل به object هادسترسی پیدا کنیم