log*_*eks 5 c# assemblies .net-4.0
我有一个利用许多全局常量的项目.最终我计划提取程序的某些部分并创建自己的程序集.
是否值得(或可能?)仅为全局常量(即GlobalConstants.dll)创建程序集,以便我可以在将来的程序集中使用此程序集?
这种方法可以帮助我减少编码,并且可以为项目中的常量保留相同的名称.
Mik*_*erg 12
虽然它当然可以做甚至可能是个好主意,但您应该意识到C#编译器将常量视为值而不是引用.
有了这个,我的意思是C#编译器将替换代码中的常量的所有实例,并用值替换 "变量".
这意味着即使您更新程序集GlobalConstants.dll并将其复制到您拥有的某个应用程序,也需要重新编译该应用程序.不这样做,将导致应用程序使用旧的常量值.
要克服此问题,您可以简单地使用public static readonly而不是public const因为readonly修饰符与constC#编译器将其视为代码而不是值的引用.
您期望相同的常量在多少个项目中有用?如果确实有这样的理由,那就好;否则……不要。
当然,如果您有一些同样可能被重用的实用程序库,那么只要按名称空间和类型适当地限定范围,它们就可能有意义。
就我个人而言,除非我有一个实际的、具体的目的来移动它们,否则我不会打扰它们。
| 归档时间: |
|
| 查看次数: |
968 次 |
| 最近记录: |