هل هناك لغات متوافقة مع NET التي لا تدعم أنواع غير موقعة؟
-
21-08-2019 - |
سؤال
ودعونا نقول أن أنا أكتب مكتبة في C #، وأنا لا أعرف من هو ذاهب لأنها تستهلك.
واجهة العامة من المكتبة لديها بعض أنواع غير الموقعة - UINT، USHORT. على ما يبدو تلك الأنواع ليست CLS المتوافقة و، من الناحية النظرية، قد يكون هناك اللغات التي لن تكون قادرة على تستهلك منها.
هل هناك في اللغات واقع كهذا؟
المحلول
وأعتقد أن في النسخة الأصلية من VB.NET، كانت أنواع غير موقعة قابلة للاستخدام ولكن كان هناك أي دعم لهم في صلب اللغة. لقد تم تناول هذه الإصدارات اللاحقة، بطبيعة الحال.
وبالإضافة إلى ذلك، وأظن أن المنحل J # لا يوجد لديه دعم لأنواع غير موقعة (بالنظر إلى أن جافا ليس لديها أي).
نصائح أخرى
و. NET التوافق والالتزام CLS هما شيئان مختلفان. أي شيء يمكن أن يعمل بطريقة أو بأخرى مع صافي الإطار يمكن أن يقال لتكون متوافقة معها. الامتثال CLS هو أكثر صرامة. ويوفر مجموعة من القواعد لالمنفذين اللغة والمصممين مكتبة لمتابعة ذلك لخلق نظام بيئي لغات متوافقة بشكل متبادل والمكتبات.
وبيت القصيد من شيء مثل CLS هو السماح لك لتجنب الاضطرار للبحث عن كل سبيل المثال من لغة ومعرفة كيفية تقديم الدعم لهم جميعا. إذا كنت تريد أن تفعل ذلك، يمكنك، ولكن البديل هو ليتوافق مع CLS، وبالتالي أعرف أنك لن تكون متوافقة مع أي شيء آخر (من الحاضر الماضي أو المستقبل) الذي يتوافق أيضا مع CLS.
إذا لم يكن هناك أحد اليوم، قد يكون هناك غد واحد.
والبصرية الأساسية ..؟