نمایش نتایج 1 تا 5 از 5

نام تاپیک: Anonymous Methods چیه ؟

  1. #1

    Question Anonymous Methods چیه ؟

    سلام
    کسی در باره Anonymous Methods چیزی میدونه ؟
    چند تا مطلب تو سایت پیدا کردم ولی چیزی نفهمیدم
    اگه ممکنه یکی توضیح بده

  2. #2

    نقل قول: Anonymous Methods چیه ؟

    سلام دوست عزیز،
    پیش از ظهور C#‎ 2.0 شما برای اعلان یک delegate میبایست از named-method ها استفاده میکردید ، به طور نمونه اگر قصد ست کردن رویداد Click مربوط به یک Button را به یک متد داشتید باید از کد زیر بهره میگرفتید :

    private void Form1_Load(object sender, EventArgs e)
    {
    button1.Click += new EventHandler(button1_Click);
    }
    void button1_Click(object sender, EventArgs e)
    {
    MessageBox.Show("Clicked");
    }


    در C#‎ 2.0 شما میتوانید delegate مورد نظر را در بدنه ی کد خود و بدون نیاز به تعریف متد مجزا اعلان کنید ، کد فوق را در C#‎ 2.0 میتوانیم بدینصورت بازنویسی کنیم :

    private void Form1_Load(object sender, EventArgs e)
    {
    button1.Click += delegate(object sender2, EventArgs e2)
    {
    MessageBox.Show("Clicked");
    };
    }


    و معادل بازنویسی شده کد فوق در C#‎ 3.0 با بهره گیری از ویژگی Lambda Expressions :

    private void Form1_Load(object sender, EventArgs e)
    {
    button1.Click += (object sender2, EventArgs e2) =>
    {
    MessageBox.Show("Clicked");
    };
    }
    I've just started tweeting!
    @Alireza_Maddah

  3. #3

    نقل قول: Anonymous Methods چیه ؟

    سلام
    ممنون
    ولی این روشها جز تو Syntax فرقشون چیه ؟

  4. #4

    نقل قول: Anonymous Methods چیه ؟

    1)کاهش حجم سورس کد
    2)Share کردن آبجکت های متد با Anonymous Method یا Lambda Expression ی که در بدنه آن قرار دارد ، به طور مثال :

    private void Form1_Load(object sender, EventArgs e)
    {
    int i = 1;
    button1.Click += delegate(object sender2, EventArgs e2)
    {
    MessageBox.Show(i.ToString());
    //Shows "2" when button is clicked.
    };
    i = 2;
    }

    3)... با مطالعه بیشتر در زمینه ی موارد ذکر شده به فواید آنها پی خواهید برد ،/
    http://msdn.microsoft.com/en-us/magazine/cc163970.aspx
    http://www.developer.com/net/csharp/article.php/3598381
    http://www.codeproject.com/KB/cs/explore_lamda_exp.aspx
    ...
    I've just started tweeting!
    @Alireza_Maddah

  5. #5
    کاربر دائمی آواتار mdssoft
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    تهران / ساری
    پست
    392

    نقل قول: Anonymous Methods چیه ؟

    علیرضا جان ممنون
    بعد از مدت ها تازه یه مثال خوب از Lambda Expression دیدم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •