Что такое параметр AllInternalsVisible сборки: атрибут InternalsVisibleTo?

Мой IntelliSense предлагает логический именованный параметр «AllInternalsVisible =» в объявлении [assembly:InternalsVisibleTo("AssemblyName")]. Просто поместите курсор после второй двойной кавычки и нажмите Ctrl-пробел. Что это такое - я не могу найти никакой документации в MSDN по этому поводу. Я использую VS2005 и .Net 2.0.

В качестве связанной темы я провожу некоторое исследование дружественных сборок и подумал, что как только вы предоставите дружественной сборке доступ к внутренним элементам, дружественная сборка получит доступ ко ВСЕМ внутренним элементам, и вы не сможете получить подробную информацию об этом. Это правда, или есть способ (как было предложено выше), чтобы вы могли предоставить доступ к сборке друга к некоторым внутренним типам/членам, но не ко всем?


person Greg Graham    schedule 15.10.2009    source источник


Ответы (3)


MSDN говорит:

Свойство InternalsVisibleToAttribute..::.AllInternalsVisible

Этот API поддерживает инфраструктуру .NET Framework и не предназначен для использования непосредственно из вашего кода.

Это свойство не реализовано.

person froh42    schedule 15.10.2009

В Silverlight, установка значения true означает, что все с видимостью «друг» или «внутренний» становится видимым для другой сборки. Если он не установлен, то только участники с FriendAccessAllowed стать видимым.

В настольной .NET это свойство не используется, поскольку все внутренние элементы всегда становятся видимыми, как вы упомянули в своем вопросе.

person TwelveBaud    schedule 27.12.2016

Майкрософт говорит:

Этот API поддерживает инфраструктуру .NET Framework и не предназначен для использования непосредственно из вашего кода.

Это свойство не реализовано.

http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.allinternalsvisible.aspx

person Robert Harvey    schedule 15.10.2009