使用常量创建DLL程序集

Ice*_*ind 5 c# assemblies constants .net-assembly

我在解决方案中有大约3个项目的解决方案.这三个项目共享一些常见的常量,直到现在,我一直在三个项目之间进行复制和粘贴.

我想要做的是创建一个包含这些常量的程序集,并仅引用另一个项目中的程序集.问题是,我想我曾经记得在编译项目时曾经读过的地方,常量值只是从程序集"复制并粘贴"到引用它的程序集中.这意味着如果我想改变其中一个常量的值,我不能只改变一个组件.我必须再次重新编译整个解决方案.

任何人都可以确认这是否属实,如果是,请告诉我这样做的首选和替代方法,以便我可以更改我的程序集中的常量?

Rob*_*vey 10

而不是声明const值,在静态类中声明实际值.

public static readonly int someConst = 6;
Run Code Online (Sandbox Code Playgroud)

这将强制您的程序在链接的DLL中更改它时使用更新的常量.

对于它的价值,某种配置文件可能是更好的解决方案,如果你想在运行时这样做,而不是编译时间.

进一步阅读
静态只读与const - 不同的程序集POV?