【发布时间】:2021-09-14 04:03:23
【问题描述】:
如果我需要将以下代码转换为使用 ResponseStatus 输入进行设置,并在一个属性中提供一个带有字符串的 getter,如下所示公共字符串 ResponseStatus {get;设置;}
private string _responseStatus;
public string GetResponseStatus()
{
return _responseStatus.ToString();
}
public void SetResponseStatus(ResponseStatus responseStatus)
{
_responseStatus = responseStatus.ToString();
}
如上需要更新如下,
public string ResponseStatus {
get {
return _responseStatus;
}
set { **// Need to check for the "ReponseStatus" type before setting this**
_responseStatus = value.ToString(); }
}
但我需要确保值 ResponseStatus 仅设置为“ResponseStatus”类型的值
public enum ResponseStatus
{
Failed = 0,
Success = 1,
PartialSuccess = 2
}
【问题讨论】:
-
为什么不直接创建
ResponseStatus类型的整个属性呢?为什么你想要 getter 和 setter 的这种“不对称”? -
@Sweeper 我希望将响应共享为属性的“字符串”,而不是作为客户端的枚举。如果它在响应中显示“失败/成功”而不是“0/1/2”,那么客户端很容易阅读
-
但是客户端是计算机程序..?无论如何,如果这是 Json 序列化,您可以让序列化器发送和接收字符串枚举而不是数字...