Both class and enumeration will be best. Then you can have more descriptive identifiers than "201".
The structure will also work, but they are more difficult to implement correctly, so you should stick to the class if you do not need the structure for any reason.
, Message. A switch - ( ), .
public enum ReturnIdentifier {
Success = 100,
MissingName = 201;
}
public class ReturnCode {
public ReturnIdentifier Code { get; private set; }
public ReturnCode(ReturnIdentifier code) {
Code = code;
}
public string Message {
get {
switch (Code) {
case ReturnIdentifier.Success:
return "Request completed successfuly.";
case ReturnIdentifier.MissingName:
return "Missing name in request.";
default:
return "Unexpected failure, please email for support.";
}
}
}
}
:
ReturnCode code = new ReturnCode(ReturnIdentifier.Success);
- , , :
int error = 201;
ReturnCode code = new ReturnCode((ReturnIdentifier)error);
( , . Message default .)