将Structs用作硬编码值的数据库是否可以?有时我们无法避免硬编码,尽管最好把它放在像xml文件或数据库表这样的东西上,但有时由于某些原因它是不可能的。
public struct BatchStatus
{
public const string Submitted = "0901XX";
public const string Active = "62783XY";
public const string Inactive = "S23123";
}
然后我像这样使用它
switch (batchStatus) // enums doesnt work in switch case
{
case BatchStatus.Submitted:
new Batch().Submit(); break;
case BatchStatus.Inactive:
new Batch1().Activate(); break;
case BatchStatus.Active
new Batch2().Deactivate(); break;
}
答案 0 :(得分:2)
如果您使用的是C#2.0及更高版本,则应该使用静态类。在C#2.0之前,您可以使用一个类,只需添加一个private
默认构造函数,以确保该类从未实例化。
C#2.0及更高版本
public static class BatchStatus
{
public const string Submitted = "0901XX";
public const string Active = "62783XY";
public const string Inactive = "S23123";
}
C#1.0 - 1.2
public class BatchStatus
{
public const string Submitted = "0901XX";
public const string Active = "62783XY";
public const string Inactive = "S23123";
private BatchStatus()
{
}
}