View Full Version : ایجاد یک رویداد بوسیله ی کلاس
RoostaYeBekr
پنج شنبه 26 دی 1387, 16:37 عصر
سلام
این dll که فرستادم ، یک Button در صفحه می سازه.
حال سوال من این است که چطوری می تونیم این قضیه را به برنامه بگوئیم که هر گاه بر روی Button کلیک شد ، مثلا متد m را صدا بزن ؟ در دو حالت زیر :
1- متد m در خود کلاس Class1 قرار داشته باشد.
2- m در برنامه ی اصلی قرار داشته باشد.
با تشکر
RoostaYeBekr
پنج شنبه 26 دی 1387, 16:57 عصر
سلام
:لبخند:
قسمت اول سوالم رو خودم فهمیدم.
این شکلی :
mahdi_farhani
پنج شنبه 26 دی 1387, 18:52 عصر
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
object targetClass = assembly.CreateInstance(className);
targetClass.GetType().GetMethod(methodName).Invoke (targetClass, parameters);
RoostaYeBekr
جمعه 27 دی 1387, 12:53 عصر
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
object targetClass = assembly.CreateInstance(className);
targetClass.GetType().GetMethod(methodName).Invoke (targetClass, parameters);
سلام و تشکر
قسمت دوم سوال رو هم فهمیدم . چقدر ساده بود . نمی دونم چرا دقت نکردم:
کافیه که در کلاس ، اون متد رو public تعریف کنیم . اینطوری خیلی راحت در برنامه ی اصلی ، این متد شناخته می شود.
مثلا در کلاس بگوئیم:
public void clear_Component()
{
this._Button.Text = "This is empty.";
}
و در برنامه ی اصلی بگوئیم:
protected void Button1_Click(object sender, EventArgs e)
{
My_Upload1.clear_Component();
}
اون طرف چیزایی که تو متد
protected override void CreateChildControls
است رو برداشته و داخل متد سازنده اضافه کنیم.
فقط با توجه به اینی که الان گفتم ، منظور کدهای شما رو متوجه نشدم . البته شاید هم شما ، منظورتون از کدهایی که فرستادید ، چیز دیگری بود . چی بود؟:متفکر:
mahdi_farhani
جمعه 27 دی 1387, 13:28 عصر
با اون سه خط شما میتونید یک متد را داخل یک کلاس دیگه (حتی یک اسمبلی دیگر ) صدا بزنید فقط کافی که اسم کلاس و اسم متد و پارمترها را بهش بدید . حالا فقط شما کافی بود که یک متد برای کلیدتون ایجاد کنید و بعد بهش بگید که چه متدی باید اجرا بشه.
RoostaYeBekr
جمعه 27 دی 1387, 14:31 عصر
با اون سه خط شما میتونید یک متد را داخل یک کلاس دیگه (حتی یک اسمبلی دیگر ) صدا بزنید فقط کافی که اسم کلاس و اسم متد و پارمترها را بهش بدید . حالا فقط شما کافی بود که یک متد برای کلیدتون ایجاد کنید و بعد بهش بگید که چه متدی باید اجرا بشه.
سلام و تشکر
:لبخندساده:
البته من قبل از این که اون پست قبلیم رو بزنم ، این کدهای شما رو تو برنامه خودم امتحان کردم. فقط نمی دونستم که جای اون parameters ، چی باید بذارم.
بعد ببخشید یک سوالی : شما این پست قبلی من رو دیدید ؟ منظورم پاسخ دومی که پیدا کرده بودم. با توجه به اینکه اینقدر ساده این مسئله حل می شه ، باز دلیل استفاده از کدهای شما رو متوجه نشدم. می شه شما خودتون یک مثال کوچک بزنید تا بفهمم منظورتون چیه ؟ آخه احساس می کنم ، منظور هم رو متوجه نشدیم. چون به هر حال کدهای شما هم مفید هست . فقط من نمی فهمم.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.