我正在开发一个软件,该软件分为多个项目,您可以将其视为:客户服务器共同客户端和服务器都引用Common,并从中使用类。因此,Common中的类是公共的。但是,尽管我希望它们由客户端和服务器使用,但我不希望它们被使用客户端和服务器库的外部代码使用。将这些类标记为内部类显然不是一种选择。有什么办法可以使它们对客户端和服务器可用,而又对外界隐藏它们? 最佳答案 您取消了internal的资格,因为您认为其他Assemblies将无法使用internal Types,这不一定是正确的。InternalsVisibleToAttibute是一个Assembly Attribute,它使您可以使一个项目的internal Types对其他选定项目可见。这样,您可以将常见类型设置为internal,但使用此Attribute可使它们对服务器和客户端可见。[assembly:InternalsVisibleTo("Client", "PublicKey=2345456456...")][assembly:InternalsVisibleTo("Server", "PublicKey=5345347366...")]在我看来,internal通常有点代码味道...它并不能真正保护您的代码,而不能像以后那样难以扩展...我只是保留Types 并使用XML文档来确保使用我的public的人将按我的意思使用它们,但这只是我的观点...关于c# - 如何隐藏常见的汇编类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34467366/
10-13 02:39