ما هو النوع الديناميكي في C #

Ma Hw Alnw Aldynamyky Fy C



تم تقديم النوع الديناميكي لأول مرة في الإصدار 4.0 من C # ، يسمح النوع الديناميكي بالتصريح عن المتغيرات باستخدام متحرك الكلمات الدالة. هذا يعني أن نوع المتغير يتم تحديده أثناء تنفيذ البرنامج ، وليس أثناء مرحلة التجميع. تثبت هذه المرونة أنها مفيدة عند التعامل مع البيانات التي يظل نوعها غير معروف حتى وقت التشغيل.

ما هي الكتابة الديناميكية

تسمح الكتابة الديناميكية بتعيين أنواع مختلفة من القيم لنفس المتغير أثناء وقت التشغيل. على عكس الكتابة الثابتة ، حيث يتم تحديد نوع المتغير في وقت الترجمة ويظل ثابتًا ، توفر الكتابة الديناميكية المرونة عن طريق تحديد النوع في وقت التشغيل بناءً على القيمة المعينة. إنه يلغي التحقق من نوع وقت الترجمة عن طريق تأجيله إلى وقت التشغيل.

في الكتابة الديناميكية ، لا يقوم المترجم بفحص النوع أثناء الترجمة. بدلاً من ذلك ، يتم تحديد نوع المتغير في وقت التشغيل بناءً على القيمة المخصصة. يسمح هذا بالربط المتأخر ، حيث يتم حل استدعاءات الطريقة ووصول الأعضاء ديناميكيًا بناءً على النوع الفعلي للكائن.







كيفية استخدام النوع الديناميكي في C #

لاستخدام النوع الديناميكي في C # ، يمكنك ببساطة تعريف متغير باستخدام الكلمة الأساسية الديناميكية. على سبيل المثال:



متغير ديناميكي = 'مرحبا بالعالم!' ؛

في هذا المثال ، تم التصريح عن myVariable كمتغير ديناميكي وتخصيص القيمة 'Hello، World!'. في وقت التشغيل ، سيتم تحديد نوع myVariable ليكون سلسلة.



مثال على استخدام النوع الديناميكي في C #

يوضح هذا الرمز استخدام الكلمة الأساسية الديناميكية في C #:





باستخدام النظام ؛
برنامج الطبقة العامة
{
عام ثابتة فارغ رئيسي ( )
{
متغير myDynamicVariable الديناميكي = 42 ؛
وحدة التحكم. اكتب ( 'القيمة: {0} ، النوع: {1}' و myDynamicVariable و myDynamicVariable. GetType ( ) ) ؛

myDynamicVariable = 'مرحبا بالعالم!' ؛
وحدة التحكم. اكتب ( 'القيمة: {0} ، النوع: {1}' و myDynamicVariable و myDynamicVariable. GetType ( ) ) ؛

myDynamicVariable = خطأ شنيع ؛
وحدة التحكم. اكتب ( 'القيمة: {0} ، النوع: {1}' و myDynamicVariable و myDynamicVariable. GetType ( ) ) ؛

myDynamicVariable = التاريخ والوقت. الآن ؛
وحدة التحكم. اكتب ( 'القيمة: {0} ، النوع: {1}' و myDynamicVariable و myDynamicVariable. GetType ( ) ) ؛

وظيفة MyCustomFunction ( myDynamicVariable ) ؛
}

عام ثابتة فارغ وظيفة MyCustomFunction ( بيانات ديناميكية )
{
وحدة التحكم. اكتب ( 'إخراج الوظيفة المخصص: {0}' و بيانات ) ؛
}
}

تسمح الكلمة الأساسية الديناميكية بكتابة متغير ديناميكيًا ، مما يعني أن نوعه يمكن أن يتغير في وقت التشغيل. في الكود ، متغير اسمه myDynamicVariable تم إعلانه كديناميكي وتم تعيينه في البداية إلى قيمة عدد صحيح تبلغ 42. ثم تتم طباعته مع نوعه باستخدام Console.WriteLine.

بعد ذلك ، يتم تعيين قيمة سلسلة myDynamicVariable (“Hello World!”) وطباعتها مرة أخرى بنوعها. يتم تكرار نفس العملية لقيمة منطقية وأخيرًا للتاريخ والوقت الحالي اللذين تم الحصول عليهما باستخدام DateTime.Now.



يشتمل الرمز أيضًا على وظيفة MyCustomFunction التي تأخذ بيانات المعلمة الديناميكية وتطبعها. تسمى الدالة myDynamicVariable الوسيطة ، مما يدل على أنه يمكن تمرير المتغيرات الديناميكية إلى الوظائف ويمكن تحديد نوعها في وقت التشغيل.

خاتمة

يسمح النوع الديناميكي في C # 4.0 بالإعلان عن المتغيرات دون تحديد نوعها ، وهو أمر مفيد عند العمل مع بيانات من أنواع غير معروفة في وقت التشغيل. تسمح الكتابة الديناميكية للمترجم بتخطي فحص النوع أثناء التجميع. بدلاً من ذلك ، يتم تحديد نوع المتغير عند تشغيل البرنامج ، بناءً على القيمة التي يحملها. اقرأ المزيد عن الكتابة الديناميكية في هذه المقالة.