الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تساؤلات حول namespace

مغلق
بدأه assmas99 في 6 نوفمبر 2005 · 4 رد · 689 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

( فضاءات الأسماء (Namespace)

تمثل فضاءات الأسماء الأسلوب الذي يتبعه إطار عمل .NET لتوفير حاويات لشيفرة التطبيق وتستخدم لأهداف تصنيف العناصر في إطار عمل .NET إن شيفرة C# موجودة بصورة افتراضيه ضمن فضاء الأسماء الشامل (global namespace) هذا يعني أن العناصر الموجودة ضمن هذه الشيفرة يمكن الوصول إليها من خلال شيفرة أخرى موجودة في فضاء الأسماء الشامل بمجرد الإشارة إليها بالاسم فقط ومع ذلك يمكننا استخدام الكلمة المحجوزة namespace لتعريف فضاء أسماء بصورة صريحة وذلك لكتلة معينة من الشيفرة حيث ستتوضع هذه الشيفرة ضمن قوسي كتلة {} وبناءا على ذلك يجب ذكر اسم فضاء الأسماء الذي تنتمي له كتلة الشيفرة كي نتمكن من استخدام العناصر الموجودة ضمن هذه الكتلة خارج فضاء الأسماء هذا . إن اسم فضاء الأسماء يمثل اسما وصفيا محددا يتضمن تحته كافة المعلومات الهرمية لكتلة الشيفرة التي يحتويها . هذا يعني أنه إذا كان لدينا شيفرة من فضاء أسماء تحتاج لاستخدام اسم معرف في فضاء أسماء آخر فإن علينا تضمين مرجع لفضاء الأسماء الأول

مثال

Namespace levelone
{
//code in levelone namespace
Namespace levelTwo
{
//code in levelone.levelTwo namespace
//name "nameTwo" defined
}
}
//code in global namespace
)

جميع ماذكر منقول من كتاب تعلم C# للمؤلف رامي القضماني

والمهم :عرفت طريقة كتابة فضاء الأسماء namespace هل من مثال توضيحي حتى تتضح الصورة أكثر لدي وهل يمكن الاستغناء عنها بالكلمة المفتاحية using أرجو التوضيح والتفاعل من الجميع حتى نشبع الموضوع ونعطيه حقه؟

وكل عام وأنتم بخير

تم تعديل هذه المشاركة بواسطة assmas99 في 6 نوفمبر 2005 في 00:21

#2

أنت تستخدم using للاختصار فقط.

مثلا بدلا من كتابة عنوان الكلاس بالكامل لاستدعاء داله به , مثل ::

System.Console.WriteLine("anything");

يمكنك في بداية برنامجك أن تكتب ::

using System;

وبعد ذلك تستخدم الكلاسات الموجود في System NameSpace بدون كتابة اسمها الكامل مثلا ::

Console.WriteLine("anything");

لاحظ أننا هنا لم نكتب System في أول السطر بعكس المثال السابق وذلك لأننا كتبنا في أول البرنامج using System ... ولذلك يمكننا استدعاء أعضاء الكلاسات الموجوده في System بدون كتابة عنوانها كاملا.

اذهب لـ :

ما الفرق بين الـ Classes و Namespaces ?

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#3

الله يعطيك العافية أخوي معتز شمس الحين أنا فهمت أن using system تكتب في أول البرنامج وتغني عن كتابتها كل مرة وأنها تعمل عمل namespace لكن كيف نستدعي نوع من فضاء معين بناءا على كلام المؤلف هل ممكن توضح أكثر

(معليش أخوي معتز تحملني )

#4
اقتباس
فهمت أن using system تكتب في أول البرنامج وتغني عن كتابتها كل مرة وأنها تعمل عمل namespace
نعم .. ولكن , ماذا تعني بجملة " تعمل عمل namespace" ؟
اقتباس
لكن كيف نستدعي نوع من فضاء معين بناءا على كلام المؤلف هل ممكن توضح أكثر
اذا كنت تريد أن تستدعي مثلا كلاس من NameSpace .. فاكتب اسم الـ NameSpace ثم نقطه , ثم اسم الكلاس.

System هو NameSpace و Console هو كلاس بداخله ... عندما نريد أن نصل الى Console نكتب ::

System.Console

أو نكتب using System وبعد ذلك نكتب Console مباشرة بدون System ... أو ممكن أن نعطي لـ System اسم شهره Alias ( أو اسم دلع :) ) بأن نكتب مثلا في البدايه ::

using assmas99 = System;

وبعد ذلك يمكننا أن نصل الى Console كذلك ::

assmas99.Console

أعذرني أنا لا أفهم ماذا تريد تماما !

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#5

وضحت الصورة أخي معتز لأن الإشكال بصراحة كان الفرق بين using وبين namespace لكن طلع مابينهم فرق

هذا الي فهمته واعذرني أخ معتز وجزاك الله خير :unsure: :unsure:

هذا الموضوع مغلق.

مواضيع مشابهة