我有一个 C# 库,其中包含很多内部功能,只公开了一些公共类和接口。我想在几个项目之间共享这段代码,每个项目可能需要用子类扩展内部类。
我不喜欢公开所有这些类以创建公共库的想法。我认为这会使它们暴露太多容易反编译并破坏设计。
创建源代码副本并使这些文件在项目之间保持同步是唯一真正的选择吗?或者有什么方法可以共享代码并且仍然为每个项目获得一个库,只公开少数预期的公共接口和类?
我正在使用 Visual Studio 2010。
更新
感谢您对反编译和“私人”访问的澄清。我想我可以考虑在几个输入库上应用混淆器,一起使用,希望能混淆它们的公共连接。
从设计的角度来看,似乎答案肯定是使用朋友程序集。