【问题标题】:Creating a DLL Assembly with constants使用常量创建 DLL 程序集
【发布时间】:2014-05-05 23:19:39
【问题描述】:

我有一个解决方案,其中包含大约 3 个项目。这 3 个项目共享一些共同的常数,直到现在,我一直在这 3 个项目之间复制和粘贴。

我想做的是创建一个包含这些常量的程序集,并从其他项目中引用该程序集。问题是,我想我记得曾经在某处读过,当项目被编译时,常量值只是从程序集中“复制并粘贴”到引用它的程序集中。这意味着如果我想更改这些常量之一的值,我不能只更改一个程序集。我必须重新编译整个解决方案。

谁能确认这是否属实,如果是,请告诉我首选的替代方法,以便我可以更改程序集中的常量?

【问题讨论】:

  • 这取决于您如何部署应用程序。如果您将所有内容合并到一个可执行文件中,是的,您显然必须重新编译整个内容。如果您只是引用一个外部 .dll,您只需要用新常量替换该 .dll。

标签: c# assemblies constants .net-assembly


【解决方案1】:

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

public static readonly int someConst = 6;

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

就其价值而言,如果您想在运行时而不是编译时执行此操作,某种配置文件可能是更好的解决方案。

进一步阅读
Static readonly vs const — different assemblies POV?

【讨论】:

    猜你喜欢
    • 2014-05-07
    • 2014-11-20
    • 2020-06-11
    • 2012-05-23
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多