avatar
amir

کاربر

  • 1403/02/17
  • 0
  • 228
1403/02/17 |
dot-net

Event با مقدار بازگشتی

پیاده سازی event با مقدار بازگشتی 


در سی‌شارپ، رویدادها (events) مستقیماً نمی‌توانند مقدار بازگشتی داشته باشند. در عوض، می‌توانید از رویدادهای استاندارد استفاده کرده و مقادیر را با استفاده از یک شیء EventArgs به رویداد بازگردانید. اما اگر منظور شما از مقدار بازگشتی جمع‌آوری داده از چندین مشترک رویداد است، می‌توانید از متدهای delegate به جای رویداد استفاده کنید.

در زیر یک مثال ساده از یک delegate با مقدار بازگشتی ارائه شده است: 

using System;

namespace DelegateWithReturnValue
{
    // تعریف delegate با مقدار بازگشتی
    public delegate int Calculate(int a, int b);

    class Program
    {
        // یک متد نمونه که با delegate استفاده خواهد شد
        static int Add(int a, int b)
        {
            return a + b;
        }

        static void Main()
        {
            // تعریف یک نمونه از delegate و اشاره به متد Add
            Calculate calc = Add;

            // فراخوانی delegate و چاپ نتیجه
            int result = calc(5, 3);
            Console.WriteLine($"Result: {result}");
        }
    }
}


در این مثال، یک delegate به نام Calculate با مقدار بازگشتی int تعریف شده است. سپس یک متد به نام Add با همان امضای delegate تعریف شده و به delegate تخصیص داده شده است. در نهایت، delegate فراخوانی شده و نتیجه بازگشتی در خروجی چاپ می‌شود.



پاسخی برای این باگ ارسال کنید

لطفا کدها را درون قطعه کد ارسال نمایید

برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری