这是在开发中经常会遇到的返回值类型,类型的大致定义如下(C#代码),目前想到的最新命名是 BooleanResult 。
public class BooleanResult { public bool Success { get; set; } public string Message { get; set; } public static BooleanResult Succeed(string message = "") { return new BooleanResult { Success = true, Message = message }; } public static BooleanResult Fail(string message) { return new BooleanResult { Success = false, Message = message }; } } public class BooleanResult<T> : BooleanResult { public T Value { get; set; } }
请问有没有更好的命名?
结束纠结,最终还是选择了BooleanResult
我觉得BooleanResult听起来一头雾水,还不如InvokeResult.。另外如果是我的话,在Message类型不是非常复杂的类型前提下,不会把message和succeeded放到一个类里,我会这样弄:
bool Function(v1, v2, out stirng essages) { essages = ""; //todo somthing if(xxx){return false;} return true; }
main() { String message; bool result = Function(v1,v2,out message); if(result == false) { Alert("error:" + message); } }
asnyc异步方法不支持out参数
public abstract class Result { public bool Succeeded { get;protected set; } public string Message { get;protected set; } } public class SucceededResult : Result { public SucceededResult (string message="") { Message = message; Succeeded = true; } } public class FailResult : Result { public FailResult(string message) { Message = message; Succeeded = false; } }
ReturnInformation
RsponseMessage
感觉布尔值能表达的信息太多了,在不同的场景里面有不同的命名。
我觉得也是
你网上搜 OperationResult 有一个开源现成的 返回类型
我们公司一直使用这个 很好用!
public OperationResult InsertTelphone(obj)
{
}
觉得还是老老实实的,只返回布尔值就Boolean,需要额外信息的就叫BooleanWithMessage
你说的Result是函数返回的结果,使用Acknowledge,或其简写Ack,
字段成员:IsSucceed,Message
我觉得参照jq的Ajax方法命名以及http的命名;
succeeded有点怪,另外,还可以再加上一个errorcode。。。
Succeeded的命名也是今天纠结的地方,最终选择了Success,已修改。
@dudu: 我们之前有一个这样的类:
public class ReturnResult { public bool IsSucceed { get; set; } public int Code { get; set; } public string Message { get; set; } }
类 msgModel
字段 statue 200(成功) 300 400 数据没找到 500 程序错误
ps:状态还可以扩展
字段 content
单从命名上无法区分 比起 用bool 我到是建议用 statue 例如 StatueResult
但是我如果是我做的话 我建议 申明一个 IStatueResult 接口
要不然 就为了一个状态量 去占用一个类 实在太浪费了
继承接口(IStatueResult)的对象 有状态信息
OPResult,操作结果
public partial class DataResult
{
/// <summary>
/// 相应状态码
/// </summary>
public int Code { get; set; }
/// <summary>
/// 相应状态消息
/// </summary>
public string Message { get; set; }
/// <summary>
/// 业务状态码
/// </summary>
public int SubCode { get; set; }
/// <summary>
/// 业务相应消息
/// </summary>
public string SubMessage { get; set; }
}
public partial class DataResult<T> : DataResult
{
public T Result { get; set; }
}
public partial class DataListResult<T> : DataResult
{
public List<T> Result { get; set; }
public PageInfo PageInfo { get; set; }
}