مشخصات مقاله
-
1093
-
0.0
-
3021
-
0
-
0
آموزش Namespaces در سی شارپ
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.
آموزش Namespaces در سی شارپ
یک namespace برای ارائه ی روشی برای ارائه ی مجموعه ای از نام ها و نگهداری مجزای آنها از دیگر مجموعه ها، ارائه می شود. نام های اعلام شده ی گروه در یک namespace با نام های اعلام شده ی همان گروه در namespace دیگر مغایرت ندارند.
تعریف Namespace
تعریف یک namespace با کلمه ی کلیدی namespace شروع شده و با نام آن دنبال می شود. مانند زیر
namespace namespace_name
{
// code declarations
}
برای نام گذاری ورژن فعال namespace در متغیر یا عملکرد، نام namespace را مانند زیر تعیین کنید.
namespace_name.item_name;
برنامه ی زیر استفاده از namespace ها را توضیح می دهد.
using System;
namespace first_space
{
class namespace_cl
{
public void func()
{
Console.WriteLine("Inside first_space");
}
}
}
namespace second_space
{
class namespace_cl
{
public void func()
{
Console.WriteLine("Inside second_space");
}
}
}
class TestClass
{
static void Main(string[] args)
{
first_space.namespace_cl fc = new first_space.namespace_cl();
second_space.namespace_cl sc = new second_space.namespace_cl();
fc.func();
sc.func();
Console.ReadKey();
}
}
وقتی برنامه ی بالا کامپایل شده و اجرا شود، نتایج زیر را به دنبال دارد.
Inside first_space
Inside second_space
کلمه ی کلیدی Using
کلمه ی کلیدی using بیان می کند که برنامه در حال استفاده از نام های موجود در namespace ارائه شده می باشد. به عنوان مثال ما در برنامه ها در حال استفاده ازSystem namespace هستیم، گروه cosole در آنجا تعریف شده و ما تنها می نویسیم.
Console.WriteLine ("Hello there");
می توانیم نام کامل مناسب را به این شکل بنویسیم.
System.Console.WriteLine("Hello there");
همچنین می توانید ازوانمود کردن namespace ها از مسیر using namespace جلوگیری کنید. این مسیر به کامپایلر می گوید که برنامه ی حاصل در حال استفاده از نام ها در namespace مشخص شده می باشد. بنابراین namespace برای کد زیر کامپایل می شود.
اجازه دهید مثال قبل را برای با استفاده از مسیر دوباره بنویسیم.
using System;
using first_space;
using second_space;
namespace first_space
{
class abc
{
public void func()
{
Console.WriteLine("Inside first_space");
}
}
}
namespace second_space
{
class efg
{
public void func()
{
Console.WriteLine("Inside second_space");
}
}
}
class TestClass
{
static void Main(string[] args)
{
abc fc = new abc();
efg sc = new efg();
fc.func();
sc.func();
Console.ReadKey();
}
}
وقتی که برنامه ی بالا کامپایل شده و اجرا می شود، نتایج زیر را به دنبال دارد.
Inside first_space
Inside second_space
Namespace های تو در تو (Nested namespaces)
Namespace ها می توانند تو در تو باشند، یعنی شما می توانید یک namespace را درون دیگری تعریف کنید، مانند زیر
namespace namespace_name1
{
// code declarations
namespace namespace_name2
{
// code declarations
}
}
شما می توانید به اعضای namespace تودرتو با استفاده از اپراتور دات (.) دسترسی داشته باشید، مانند زیر
using System;
using first_space;
using first_space.second_space;
namespace first_space
{
class abc
{
public void func()
{
Console.WriteLine("Inside first_space");
}
}
namespace second_space
{
class efg
{
public void func()
{
Console.WriteLine("Inside second_space");
}
}
}
}
class TestClass
{
static void Main(string[] args)
{
abc fc = new abc();
efg sc = new efg();
fc.func();
sc.func();
Console.ReadKey();
}
}
وقتی که برنامه ی بالا کامپایل شده و اجرا می وشد، نتایج زیر را به دنبال دارد.
Inside first_space
Inside second_space