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

سلسلة النظرة الأولى على C# 4.0

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

(1)

أحد مزايا الـ C# 4.0 الجديدة هي الـ Named and Optional Parameters التي تمكنك من استخدام الـ Parameter أو لا الموجود في أي Method أو Constructor مثلاً حسب رغبتك دون إجبار كما كان في الإصدارات السابقة للـ C#. هذه الميزة موجودة حسب علمي في الـ VB من قبل ولكنها لم تكن موجودة في الـ C#

يمكنك الاستفادة من هذه الميزة بالأتي:

1) إلغاء فكرة الـ Method overloads مما يقلل من كتابة الكود ويحل بعض الأمور التي قد تطرأ كأن تريد مثلاً Two Methods وكل منهم يأخذ نفس العدد من الـ Parameters ولا يوجد اختلاف في الـ Type فلا يمكن حينها استعمال الـ Overloads

2) حل مشاكل كثيرة تحدث أثناء التعامل مع الـ COM Interop. فقد كان في السابق المبرمج مجبراً على أن يستخدم كل الـ Parameters الخاصة بأي COM Interface ولكن الأن ومع هذه الميزة يمكنك فقط استخدام ما تريد وأما الباقي سيأخذ القيم الافتراضية

3) تسهل عملية الـ Code reuse والـ Productivity فالأن لست مضطراً لتكرار الـ implementations في كل الـ Overloads فيكفي عمله في Method واحدة تدعم الـ Named and Optional Parameters

كيف يمكنك استخدامها؟ وما هي طريقة كتابتها؟ وهل لها من قيود أو شروط؟

يمكنك القراءة عنها من هــنـــا http://abdulmoniem.wordpress.com/2010/04/26/c-4-0-first-look-named-and-optional-parameters/

1

مدونة ابنتي الرضيعة: يوميات رزان

مدونتي التقنية العربية: البرمجة مع عبد المنعم

Technical Blog: Abdul Moniem's Thoughts

LinkedIn: Profile

#2

(2)

هل فكرت يوماً ما في استدعاء كود مكتوب بأي dynamic language مثل الـ Python مثلاً داخل الـ C# ويكون مكتوب بسهولة ويسر. هل فكرت يوماً في بناء Object كامل أثناء الـ runtime فقط. هل فكرت في استعمال الـ Reflection من أجل بناء Objects من Types لا يمكن تحديدها إلا أثناء الـ runtime؟

إذا كانت الإجابة بنعم، فهنا تأتي الميزة الرائعة dynamic keyword لتحل هذه المشاكل .. يمكنك من خلالها عمل الأتي:

1) بناء Objects في الـ runtime بكل سهولة ويسر

2) استعمالها في حالة التعامل مع الـ dynamic languages المختلفة كالـ Python للاستفادة بدالة مكتوبة مثلاً بالـ Paython

3) الاستغناء عن طريقة الكتابة السيئة الخاصة بالـ reflection بطريقة أبسط وأفضل وأكثر يسراً

يمكنك القراءة عن هذه الميزة من هـــنــــا http://abdulmoniem.wordpress.com/2010/04/27/c-4-0-first-look-dynamic-keyword/

2

مدونة ابنتي الرضيعة: يوميات رزان

مدونتي التقنية العربية: البرمجة مع عبد المنعم

Technical Blog: Abdul Moniem's Thoughts

LinkedIn: Profile

#3

(3) Covariance and Contravariance

Another new feature in C# 4.0 is covariance and contravariance. Really, I will let you in this post with those two nice videos which explains well what is this new feature. This video is made by Eric Lippert divided into two parts. Enjoy!

How Do I: Use Covariance and Contravariance in VS 2010 Part I?

How Do I: Use Covariance and Contravariance in VS 2010 Part II?

I really do like the new feature because it didn't break the main theme of C# that is strongly typed language.

Also, I like the semantics behind the in and out keywords when used in this new feature.

Finally, I don't have to cast each element in IEnumerable sequence coming from LINQ to return a sequence of some related class, it will be done for me at compile time out of the box! Great!

من هــنـــا

تم تعديل هذه المشاركة بواسطة أحمد عبد المنعم في 14 مايو 2010 في 11:14

مدونة ابنتي الرضيعة: يوميات رزان

مدونتي التقنية العربية: البرمجة مع عبد المنعم

Technical Blog: Abdul Moniem's Thoughts

LinkedIn: Profile

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