الأربعاء، 11 ديسمبر 2013

أساسيات البرمجة سي شارب فضاءات الاسماء C# - Namespaces

أساسيات البرمجة فضاءات الاسماء C# - Namespaces

فضاء الاسماء:-

تستخدم فضاء الاسماء لتجميع الفئات ذات النوع الواحد في حزمة وثم تقوم بفصل بين الفئات الاخرى فلا يحدث تعارض في الاسماء الفئات عند تسميتها بنفس الاسماء.

الصيغة العامة للفضاء الاسماء:-

namespace namespace_name
{
   // الكود
}

لتعريف فضاء الاسماء نستخدم الكلمة المحجوزة namespace ثم اسم الافضاء الذي تريده . ولاستدعاء فضاء الاسماء فالكود التي يظهر كيف نستدعى كود السابق.
namespace_name.item_name;
اسم الفضاء ثم نقطة ثم اسم الفئة أو فضاء أخر حتى تصل للفئة.

مثال على فضاء الاسماء

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 لاختصار الكود فبدلا كتابة فضاء الاسماء كله ثم فضاء الاسماء .............. حتى الفئة ثم الدالة فقط نكتب اسم الفئة ثم الدالة فقط فهي تختصر الاستدعاء

مثال على ذلك دالة writeline في الفئة console فهي في فضاء الاسماء system .

Console.WriteLine ("Hello there");

في المثال السابق على فرض اننا استخدمنا Using System.فلذلك لا حاجة لنا لنكتبها بالصيغة التالية .

System.Console.WriteLine("Hello there");


مثال عل استخدام using مع فضاء اسماء  معرف من قبلنا.

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

فضاءات الاسماء المتداخلة Nested Namespaces

فضاء الاسماء المتداخلة هي عبارة عن فضاء اسم داخل فضاء اسم وتستخدم لتجميع فضاءات الاسماء داخل فضاء واحد ذو علاقة.

namespace namespace_name1 
{
   // الكود
   namespace namespace_name2 
   {
     //الكود
   }
}

مثال على فضاء الاسماء المتداخل.

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





Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
ahmed.almahallawi@gmail.com

DOB: 05/10/1984
by +Ahmed Almahallawi 




11/12/2013




التسميات: