توابع محلی (Local Functions)

Local Function ها امکان تعریف یک متد در داخل متد دیگر را فراهم می کنند. شما می توانید با استفاده از این قابلیت در 7.0 #C یک متد را در داخل یک متد موجود تعریف کنید. به این نکته توجه کنید که، برای استفاده از این قابلیت های جدید باید آخرین نسخه ویژوال استودیو (Visual Studio 2015 Preview 4) را بر روی سیستم نصب کنید :

private static void Main(string[] args)
{
    int LocalFunction(int arg)
    {                         
        return 10 * arg;      
    }                         

    Console.WriteLine(LocalFunction(10));
}

در مثال بالا ، یک متد به نام LocalFunction را در “داخل” بدنه ی متد Main تعریف کرده ایم ، سپس آنرا فراخوانی و خروجی آنرا بر روی صفحه ی نمایش چاپ می کنیم. در متد های محلی می توانید از متغیرهایی که قبل از تعریف متد ، تعریف شده اند استفاده کنید :

private static void Main(string[] args)
{
    int localVar = 10;
    int LocalFunction(int arg)
    {
        return localVar * arg;
    }
    Console.WriteLine(LocalFunction(10));
}

در مثال بالا، در داخل متد محلی از یک متغیر به نام localVar که قبل از متد تعریف شده است استفاده کرده ایم.