PDA

View Full Version : بدست اوردن نام تابع و نام فرمی که برنامه در حال اجرای آن است



mohammadjp
پنج شنبه 27 بهمن 1390, 12:17 عصر
میخواهم تابعی بنویسم که نام متدی که الان در حال اجراست را برگرداند
چطور میتوانم این کار را انجام دهم
البته به دست آوردن اطلاعاتی مثل نام ابجکت و نام فرم هم به کارم می اید

mrbm_2007
پنج شنبه 27 بهمن 1390, 12:43 عصر
تابعی که در حال اجراست؟
چجوری مثلا هر وقت این متد فراخوانی بشه بگه چه تابعی و از کجا اون رو فراخوانی کرده؟

Mahmoud Zaad
پنج شنبه 27 بهمن 1390, 12:50 عصر
سلام
برای کنترل و parent اش می تونی به صورت زیر عمل کنی ولی منم سوال دوستمون رو دارم!



foreach (Form f in Application.OpenForms)
{
MessageBox.Show(f.ActiveControl.Parent.Name);
MessageBox.Show(f.ActiveControl.Name);
}

mehran_sh_t
پنج شنبه 27 بهمن 1390, 12:57 عصر
سلام
در مورد Reflection در ویژوال استدیو سرچ کنید، مطالب خوبی پیدا می کنید.

موفق باشید

mohammadjp
پنج شنبه 27 بهمن 1390, 14:07 عصر
اره دیگه
مثلا تابع من که هیچ پارامتر ورودی هم نداره هر جا فرا خوانی بشه یه مسیج باکس باز میکنه و اسم تابعی که از درون آن فراخوانی شده را نشون بده

mrbm_2007
پنج شنبه 27 بهمن 1390, 15:23 عصر
این رو هم سرچ کن احتمالا بدرت می خوره
stack trace

mrbm_2007
پنج شنبه 27 بهمن 1390, 15:28 عصر
به این کد توجه کن

var st = new System.Diagnostics.StackTrace();
MessageBox.Show(st.ToString());

این کد مسیر کامل فراخوانی های انجام شده رو تا مکان فعلی نشون میده