我在C#winforms应用程序中设置了一些默认颜色,如下所示:
readonly Color ERROR = Color.Red;
readonly Color WARNING = Color.Orange;
readonly Color OK = Color.Green;
Run Code Online (Sandbox Code Playgroud)
据我所知,readonly对我来说基本上是一个常数.如果我尝试将它们定义为常量,编译器会指示它必须是编译时常量,而Color不是.
我很好地保留这些原样,还是有一些方法来定义我应该注意的这些常量?
(目的只是为了有一个位置来更改所有颜色以进行日志记录.)
因为我在我的应用程序的多个地方使用"System.Drawing.Color.Gainsboro":
if (tb.BackColor.Equals(System.Drawing.Color.Gainsboro)) {
Run Code Online (Sandbox Code Playgroud)
......我想让它成为一个常数.但当我尝试时:
const System.Drawing.Color PSEUDO_HIGHLIGHT_COLOR = System.Drawing.Color.Gainsboro;
Run Code Online (Sandbox Code Playgroud)
...我得到了,"类型'System.Drawing.Color'不能声明为const"
???