Lea*_*yes 0 c# dll mono unity-container monodevelop
我有两个类库"MyLibrary.dll"和"MyLibraryEditor.dll"用于Unity运行时和编辑器扩展."MyLibrary.dll"中有几个类成员仅供"MyLibraryEditor.dll"使用.
我的第一个想法是使用internal
关键字,因为我错误地认为这限制了命名空间的可见性.相反,很明显,此关键字限制了程序集的可见性.
在不损害性能的情况下,将对某些类成员的访问限制为"MyLibrary.dll"和"MyLibraryEditor.dll"的最佳方法是什么?此外,反思不是一种选择.
我很高兴根本不记录这些功能,但不幸的是,Intellisense(和MonoDevelop的等价物)展示了这些成员.
如果希望一个装配中的内部构件从另一个装配体中可见,则可以InternalsVisibleTo
在包含内部构件的装配体上使用该属性.请参阅http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx:
[assembly:InternalsVisibleTo("MyLibraryEditor")]
Run Code Online (Sandbox Code Playgroud)
答案是,你可能想重新考虑你的建筑设计,这样你就不需要使用它,因为它会打开所有内部组件到另一个组件,而不仅仅是你想要的那些.