Static به عنوان فضای نام در C# 6.0

چهارشنبه 28 مرداد 1394

در این مقاله ویژگی جدید 6.0 #C " استفاده static به عنوان فضای نامی در C# 6.0 " را بررسی می کنیم.

 Static به عنوان فضای نام در C# 6.0

با معرفی  NET framework جدید، چندین ویژگی نیز با نسخه جدید آن معرفی شده است. این مفهوم استفاده کلاس های static به عنوان  فضای نامی در #C با استفاده از کلمه کلیدی using می باشد.

معمولا، زمانی که کلاس های static با متدها را داریم، متدها را با استفاده از staticClassName.MethodName فراخوانی می کنیم. اما با ویژگی جدید در C# 6.0 می توانیم به طور مستقیم این متدها را فراخوانی کنیم. مثل اینکه قسمتی از همان کلاس هستند به جای استفاده staticClassName.MethodName. در ادامه مشاهده می کنید که چطور این کار را انجام می دهیم.

به عنوان مثال یک console application جدید ایجادمی کنیم و از قرار داد قدیمی فراخوانی متد WriteLine استفاده می کنیم. بنابراین کدزیر را می نویسیم:

 در C# 6.0 می توانیم به طور مستقیم متدConsole  را فراخوانی کنیم . ابتدا نیاز داریم تا کلاس static را به  usings اضافه کنیم که در این مثال، کلاس ما Console است.


    using static System.Console;   

توجه داشته باشید که کلمه کلیدی static برای ارجاع به کلاس console است. حال می توانیم به طور مستقیم به متدهای write و writeLine دسترسی داشته باشیم. به کد زیر توجه نمایید:

using static System.Console;    
namespace StaticNamespace  
{  
  class Program  
  {   
    static void Main(string[] args)  
    {  
       Write("This is Test Value");  
       ReadKey();  
    }  
  }  
}   

ReadKey نیز یک متد است که می توانیم به طور مستقیم از آن استفاده کنیم. برنامه اجرا کنید و نتیجه خروجی را مشاهده نمایید.

حال اجازه دهید که همین کار را برای کلاس هایی که خودمان نوشته ایم نیز امتحان کنیم. بنابراین کلاسی به نام MyStaticClass می سازیم و یک متد که یک رشته به عنوان خروجی باز می گرداند به آن اضافه می کنیم.

می بینید که می توانیم برای کلاس های خود نیز از این ویژگی استفاده کنیم، کد را اجرا کرده و نتیجه را مشاهده نمایید.

آموزش سی شارپ

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 1k بازدید
  • 1 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید