Static class with static properties
本问题已经有最佳答案,请猛点这里访问。
我试图在一个类中收集应用程序中的所有字符串声明,以便在整个项目范围内修改它们。我可以创建一个这样的
1 2 3 4 | public static class Strings { public static readonly string Title ="App Title"; } |
或者像这样:
1 2 3 4 | public static class Strings { public const string Title ="App Title"; } |
类应该是静态的,并且所有属性都是常量。
您可以通过一个简单的示例来查看差异:
1 2 3 4 5 6 7 8 9 10 11 | void Main() { var f = F.Foo; var b = F.Bar; } public class F { public const string Foo ="F"; public static readonly string Bar ="B"; } |
将产生以下IL:
1 2 3 4 5 | IL_0001: ldstr "F" IL_0006: stloc.0 // f IL_0007: ldsfld UserQuery+F.Bar IL_000C: stloc.1 // b IL_000D: ret |
同时生成
如果您想设置一组在运行时不会改变的常量值,那么使用