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

اسئلة حول مفاهيم برمجية؟

بدأه Hisham_IT في 2 مارس 2011 · 8 رد · 812 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم...

لدي كم سؤال في السي شارب ( شرح تلك المفاهيم )

Attributes..و Assemblies..ما هي(و لو كان شرح بسيط)؟.

TypeForWarded...

و اهم شيئ ما هي ال Serialization ؟؟

شكرا لكم

Currently working on ASP.net ..... come Back Soon

#2

أنا أيضاً أريد ان أعرف ما هي attributes لأني لم أفهمها.

serialization هي تحويل بيانات من نوع معين إلى كائنات من نوع object و ذلك بغرض تخزينها أو إستعمالها في برنامج آخر، مثال:

عند عمل copy لكلمة في برنامج الوورد فإن الكلمة تتحول إلى بيانات من النوع object و عند لصق الكلمة في برنامج آخر مثلاً الإكسل فإن البيانات تعود إلى نوعها الأصلي، و هذه العملية تسمى deserialization.

#3

شكرا لك

مبدئيا...فهمت منك انو Serialization هي عملية نسخ للكلاس(نوع بيانات معين) الى الذاكرة فقط...و هنا تنتهي عملية serialization......و عملية deserialization هي عملية نسخ الكلاس من الذاكرة الى البرنامج نفسه او الى برنامج آخر...

و الان لدي سؤال....؟

بما انها اصبحت من نوع object فيمكن تحويلها الى نوع آخر غير النوع السابق الذي كانت عليه؟

و ماذا نعني عندما نضع [serializable] قبل اسم الكلاس.....؟

Currently working on ASP.net ..... come Back Soon

#4

الـassembly هي مجموعة من الكلاسات والدوال المجموعة في مكان واحد. هدفها الرئيسي هو تنظيم الكود. هناك مثلاً assembly اسمه System.Text يضم مجموعة من الدوال المخصصة للتعامل مع النصوص ويشمل أيضاً assembly فرعي System.Text.RegularExpressions الذي يحوي دوال الريجيكس.

الـattributes هي خواص إضافية تسند إلى الدوال تتواصل مع الكومبايلر مباشرة لتصف طريقة وكيفية عملها. لنأخذ مثال الـweb services مثلاً. عندما نضع [WebMethod] فوق دالة ما فإن هذا يخبر الكومبايلر أن هذه ليست دالة عادية، بل دالة ستكون مفتوحة على الويب.

TypeForwardedTo هو attribute يستخدم لإخبار الكومبايلر بأن تعريف type ما موجود في assembly آخر. يستخدم أحياناً حين يتم نقل جزء من الكود إلى مكان آخر ولا تريد تغيير طريقة التعامل معه.

الـserialization هي عملية تحويل كلاس إلى شكل يمكن من خلاله نقله إلى خارج البرنامج (إلى برنامج آخر مثلاً). بستخدم بكثرة في الـweb services وأي عملية تتطلب نقل معلومات عن طريق الشبكة. الـdeserialization هو عكس هذه العملية.

Hisham_IT كتب:

و ماذا نعني عندما نضع [serializable] قبل اسم الكلاس.....؟

هذا الـattribute يخبر الكومبايلر أن هذا الكلاس يمكن أن تتم عليه عمليات الـserialization

تم تعديل هذه المشاركة بواسطة System Down في 3 مارس 2011 في 00:18

1
#5

ممكن مثال على attributees؟

#6

لنأخذ مثال الـweb services. كلاس الويب سرفس يكون عادة شئ كهذا:

[WebService]
Public Class MyWebService
{
	[WebMethod]
	public void WebServiceMethod
	{
	.
	.
	.
	}

	public void ClassMethod
	{
	.
	.
	.
	}
}

هنا نجد اثنان attribute هما WebService و WebMethod. وضعنا WebService أمام الكلاس ليعرف الكومبايلر أن هذا الكلاس ليس كلاساً عادياً بل كلاس ويب سرفس. ووضعنا WebMethod أمام الدالة WebServiceMethod لنخبر الكومبايلر أن هذه الدالة ستكون من الدوال الظاهرة في الويب سرفس، ويمكن مناداتها من أي مكان يستخدم الويب سرفس MyWebService. لاحظ الدالة ClassMethod ليس عليها هذا الـattribute مما يعني أن هذه الدالة هي دالة عادية. يمكنك مناداتها من أي مكان يستخدم الكلاس ولكن لا يمكن مناداتها كجزء من الويب سرفس.

#7
اقتباس
لاحظ الدالة ClassMethod ليس عليها هذا الـattribute مما يعني أن هذه الدالة هي دالة عادية. يمكنك مناداتها من أي مكان يستخدم الكلاس ولكن لا يمكن مناداتها كجزء من الويب سرفس

يعني لو أستخدمت الكلاس MyWebService في مشروع ويب سيرفس جديد لن أستطيع إستخدام الدالة ClassMethod ؟

#9

شكرا لك System down>>>> جزاك الله خيرا

Currently working on ASP.net ..... come Back Soon

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…