منقول من المنتدى القديم
صاحب الرد أحمد جمال المشرف العام
Common Type System
سنركز في هذا الموضوع المختصر على CTS بعد ان شرحناه اختصاراً في مشاركة سابقة وذكرنا انه مختص بوصف الانواع المدعومة في بيئة .net وكيفية تعاملها مع بعضها البعض ، هذه الأنواع هي Class, interface, Struct, Enumeration, Delegate
سنتعرف على طريقة تعريف كل منهم اثناء سير الدورة الخاصة بنا ، إلا ان ما يتعلق بنا الآن خلال الدرس الخاص بنا هو كيفية تعامل ال CTS معهم ، إذا كنت مبرمج تطبيقات عادية فلن تحتاج لمعرفة اكثر من فائدة ال CTS اما مبرمجو الأدوات او الذين يقومون ببناء كومبايلر او لغة برمجة ضمن بيئة تطوير .net فيحتاجون للتعرف على الخصائص الاساسية ، سأذكر مثالاً مختصراً على Class :
هناك ما يعرف باسم Abstract Class ، ال Abstract Class لا يحتوي على اي كود - شديد الشبه بال interface - بحيث يمكن بعد ذلك عمل وراثة له قبل البدء في استخدامه حيث انه لن يحتوي على سطر كود واحد ، هذا مثال لما يعرف باسم Abstract Class .
كود :
class abst_class
{
int sum(int x,int y);
string name;
}
والآن من ضمن جدول خصائص ال CTS التي ستحتاج إليها فيما لو رغبت في التعامل مع CTS في الكومبايلر الخاص بك مثلاً . ستجد الخاصية Is the class abstract or concrete ، ستحتاج قبل اخبار CTS بان لديك Class هنا ان تخبره ايضاً بمثل هذه النقاط .
لا تقلق لو لم تتضح لديك مثل هذه الخصائص ، في دروس قادمة سنشرح بالتفصيل كيفية عمل Class وانواعه وطرقة المختلفة .
ال Members :
بعد ان قمت بوصف الأنواع المختلفة من خلال CTS ، يمكنك اضافة اي عدد من ال Members إلى كل منهم ، ال Members يمكن ان تكون متغيرات عادية لحقول Fields ، يمكن ان تكون ايضاً :constructor, finalizer, static constructor, nested type, operator, method, property, indexer, field, read-only field, constant, event
كل واحد من هذه الأعضاء لديه ما يعرف باسم ( visibility trait) أو مدى رؤية ، يمكن ان يكون Public مثلاً بحيث يمكن رؤيته من خارج الكلاس .. الخ مما سنتعرف عليه لاحقاً ضمن دروسناً ، ما يعنينا هنا ان نعرف ان كل هذه الخصائص يتم توصيفها في CTS .
ال DataTypes :
يحتوي ال CTS ايضاً على ال DataTypes المدعومة من قبل .net ، هذا الجدول من كتاب Pro C# 2008 مع توضيح لل keywords للغات .net الاساسية الثلاث :
[ATTACH=CONFIG]731[/ATTACH]
كل ما يهمك كمبرمج تطبيقات عادي ان تعرف لمعلوماتك فائدة ال CTS كنوع من المعرفة العامة لبنية .net الاساسية ، أما إذا كنت قد اعجبتك الفكرة وترغب في التعرف على المزيد عن CTS ، فيمكنك البدء من هذا الرابط :
http://msdn2.microsoft.com/en-us/library/zcx1eb1e.aspx
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .