我很确定一个枚举不是我想要的.我想要的是一个命名项目列表
CustomerLookup = "005",
CustomerUpdate = "1010"
Run Code Online (Sandbox Code Playgroud)
"005"和"1010"不是我的值,它们是我需要发送给我无法控制的第三方的值.其中有近500个.我只是希望我的代码看起来不错.
代替
SendRequest("005");
Run Code Online (Sandbox Code Playgroud)
我宁愿看
SendRequest(RequestType.CustomerLookup);
Run Code Online (Sandbox Code Playgroud)
任何人都有任何自我记录的想法,而不会在代码中疯狂吗?
有什么不妥:
public static class RequestType
{
public static readonly string CustomerLookup = "005";
// etc
}
Run Code Online (Sandbox Code Playgroud)
要么
public static class RequestType
{
public const string CustomerLookup = "005";
// etc
}
Run Code Online (Sandbox Code Playgroud)
?或者如果您想要更多类型安全:
public sealed class RequestType
{
public static readonly RequestType CustomerLookup = new RequestType("005");
// etc
public string Code { get; private set; }
private RequestType(string code)
{
this.Code = code;
}
}
Run Code Online (Sandbox Code Playgroud)
这基本上会给你一组固定的值(构造函数是私有的,因此外部代码不能创建不同的实例),你可以使用该Code
属性来获取相关的字符串值.