在哪里定义常量并在任何地方使用它们?

时间:2014-12-19 15:01:31

标签: c# oop interface

在Java中我会写类似

的东西
public interface ICar {    
    static String RED_CAR = "/res/vehicles/car_red.png";
    static String BLUE_CAR = "/res/vehicles/car_blue.png";
    static String GREEN_CAR = "/res/vehicles/car_green.png";    
}

因为C#不允许在接口中使用字段,所以当我想在C#中定义这些常量时,我​​希望多次使用它们?

2 个答案:

答案 0 :(得分:11)

您可以定义一个静态类来包含您的常量(默认情况下需要为public而不使用修饰符的字段为private):

public static class Car
{
    public const string RED_CAR = "/res/vehicles/car_red.png";
    public const string BLUE_CAR = "/res/vehicles/car_blue.png";
    public const string GREEN_CAR = "/res/vehicles/car_green.png"; 
}

在此之后,您可以使用Car.RED_CAR等常量。

答案 1 :(得分:0)

如果所有常量都是文件,最好将它们包含在资源中。

在项目属性中有一个资源部分,如果需要,可以创建一个Resources.resx。 在那里你可以添加各种文件或字符串(主要用于翻译)。

然后,您可以通过Properties.Resources.RED_CAR

访问它们

我不会那样称呼他们。从所有变量开始,其中全局变量和命名约定就像需要知道存储在变量中的变量一样。但是当像这样访问你的数据时,它总是清楚发生了什么。