هل هناك وسيلة لمنح امتياز الوصول إلى تجميع .NET في التجمع واحد فقط؟
-
22-07-2019 - |
سؤال
ولدي التجميع مكتبة الصف، وبعض التعليمات البرمجية الاختبار. لأن رمز اختبار يحتاج إلى نظرة خاطفة على الأجزاء الداخلية من الدرجة، فإنه يجب أن يكون جزءا من التجمع ولأنني لا تريد أن يكون لها البعيد قبل كل شيء هو النفس، فإنه يحتاج لديك شيء الجمهور بحيث يمكن لتجميع مختلف بالتمسك به. هذا ينتهي تغير اتجاهها على بعض التعليمات البرمجية التي لا ينبغي أن يكون هناك لالتجميع الرئيسي.
ما أود أن وضع كافة التعليمات البرمجية الاختبار في التجمع الآخرين وعلى نحو ما منحها امتيازات للوصول الداخلية للفئة. أنا لست بحاجة إلى أن يكون جزءا من المنتج النهائي، فقط كجزء من التصحيح / الخاص يبني.
هل هذا ممكن؟
المحلول
تأكد استخدام ليبرالية من معدل وصول internal
وإضافة في InternalsVisibleTo السمة إلى التجمع.
نصائح أخرى
System.Runtime.CompilerServices.InternalsVisibleTo ()
ويمكنك أيضا استخدام انعكاس للوصول أعضاء الداخلية / الخاص. هذه هي الطريقة التي MSTest يفعل ذلك.