وضع علامة على جميع الفصول في مشروع CLS متوافق

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

  •  21-09-2019
  •  | 
  •  

سؤال

إذا كان لدي مشروع وأميزته

<Assembly: CLSCompliant(True)> 

هل أحتاج إلى وضعه CLSCompliant(True) قبل كل الفصل في المشروع ، أم أنهم جميعًا متخلفون عن clscompliant؟

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

المحلول

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

ومع ذلك ، نعم ، نعم ، إنه يقوم بالتصفية وتؤثر على جميع الفئات في التجميع دون الحاجة إلى إضافتها مرة أخرى إلى كل فئة. من هنا:

إذا لم يتم تطبيق أي سمة CLS على نوع ما ، فمن المفترض أن يكون لهذا النوع نفس الامتثال CLS مثل التجميع الذي يتم تعريف النوع فيه.

هذه المقالة هو أيضًا نظرة عامة لطيفة على كيفية عمله ، وما عليك القيام به ، ولماذا قد ترغب في القيام بذلك.

نصائح أخرى

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

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