相关疑难解决方法(0)

在C#中将颜色定义为常量

我在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不是.

我很好地保留这些原样,还是有一些方法来定义我应该注意的这些常量?

(目的只是为了有一个位置来更改所有颜色以进行日志记录.)

c# colors compile-time-constant

16
推荐指数
2
解决办法
1万
查看次数

为什么不能声明System.Drawing.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"

???

c# constants colors winforms

3
推荐指数
3
解决办法
4641
查看次数

标签 统计

c# ×2

colors ×2

compile-time-constant ×1

constants ×1

winforms ×1