将程序集声明为与 的朋友时[assembly: InternalsVisibleTo("MyFriend")]
,我必须使用MyFriend
其他程序集的名称才能访问internal
类/方法。
现在我很困惑。这比将方法声明为更低的访问权限如何public
?因为我只需要命名任何程序集MyFriend
就可以访问。
我做错了什么?
将程序集声明为与 的朋友时[assembly: InternalsVisibleTo("MyFriend")]
,我必须使用MyFriend
其他程序集的名称才能访问internal
类/方法。
现在我很困惑。这比将方法声明为更低的访问权限如何public
?因为我只需要命名任何程序集MyFriend
就可以访问。
我做错了什么?
如果为您的程序集使用强名称,那么您还需要提供允许访问内部的程序集的公钥。这在您的情况下要好得多,因为它不仅仅依赖于名称。请参阅:http: //msdn.microsoft.com/fr-fr/library/bb385840 (v=vs.90).aspx
然而,人们仍然可以使用反射访问受限制的东西。