هل تعاني Clscompliant سمة من أجل الإصدارات القديمة من لغات .NET؟

StackOverflow https://stackoverflow.com/questions/960622

  •  12-09-2019
  •  | 
  •  

سؤال

على سبيل المثال، قرأت أن Visual Basic .NET لم يكن لدى Visual Basic. NET Overator Overloads من قبل، لذلك لن تتمكن من استخدام أنواع المشغلين الذين مثقلون، إذا لم يتم توفيرهم كطرق طبيعية أيضا (إضافة، بدلا من المشغل +).

الآن أن VB لديه هذه الميزة، هل ستعمل Clscompliant سمة الرعاية إذا كان لديك طرق ثابتة طبيعية مثل إضافة، طرح بدلا من التحميل الزائد للمشغل فقط؟

لقد كتبت بعض الأنواع دون الأساليب الساكنة اللفظية، ولكن فقط الحمل الزائد للمشغل، ومترجم C # لم يهتم. إذا كانت مشكلة، فسوف يحذرني، أليس كذلك؟

هل كانت مفيدة؟

المحلول

الامتثال CLS لا علاقة له اكبر سنا اي شى - إنها ببساطة المجموعة الأساسية من الوظائف التي يجب عليك توقع لغة تعسفية للتعامل مع (عند استهلاك الكود الخاص بك). على سبيل المثال، ذلك ليس كذلك معقول أن نفترض أن اللغة هي حساسة لحالة الأحرف، لذلك الأعضاء "فو" و "فو"، في حين أن القانونية في C #، ليست متوافقة CLS.

سوف يحذرك المحول البرمجي إذا طلبت ذلك؛ يضيف [CLSCompliant(true)] إلى نوع / تجميع / إلخ وسوف تحقق مطالبتك.

إذا كنت ISV، فقد ترغب في التفكير في الامتثال CLS. إذا كنت تكتب رمز فقط لنفسك وفريق، فربما لا تحتاج إلى النفقات العامة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top