C# 在哪里定义常量并在任何地方使用它们?
在Java中,我会编写如下内容C# 在哪里定义常量并在任何地方使用它们?,c#,oop,interface,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#不允许在接口中使用字段,当我希望多次
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#中在哪里定义这些常量?您可以定义一个静态类来包含您的常量(需要是
公共的,因为默认情况下,没有修饰符的字段是私有的):
在此之后,您可以使用常量,如Car.RED\u Car
如果所有常量都是文件,最好将它们包含在资源中
在项目属性中有一个资源部分,如果需要,vs可以创建Resources.resx。
在那里你可以添加各种各样的文件或字符串(主要用于翻译)
然后,您可以通过Properties.Resources.RED\u CAR
不过,我不会这样称呼他们。从那时起,所有全局变量和命名约定都需要知道变量中存储了什么。但是当像这样访问数据时,总是很清楚发生了什么。一个简单的公共静态类怎么样?对常量使用const
,这些常量是隐式静态的,还有一点需要补充,它们看起来像是图像的路径。根据您可以使用的应用程序,谢谢,这是合理的@StuartLC没错:)我不会在名字中使用。
,也不会使用正楷。记住这是C不C++,也可能重命名类“代码”>“CARTITY < /CODE >或类似的东西。@ SrRAMAMSAKEVLE同意你,但这是OP,我刚刚编写了代码基于他提供的代码:)公共常量,这样的内容(很可能会改变)这不是一个很好的主意,因为一旦它们被更改,您就需要潜在地使用它们重建所有程序集。签出扩展讨论。是的,在这种情况下,我将对文件使用常量。感谢您提供有关属性的信息。参考资料,我不知道这一点,我将立即尝试!
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";
}