Introduction
Avalanche.StatusCode contains various statuscode constants.
HResult.Messages is table that contains Microsoft's public HResult codes, keys and descriptions (Avalanche.StatusCode.HResult.dll).
// Get by key
IMessageDescription messageDescription = HResult.Messages.Keys["NULL.S_OK"];
// Print template text
WriteLine(messageDescription.Template); // "Operation successful"
SystemMessages.Messages is table that contains statuscodes that are automatically scraped from mscorlib.dll (Avalanche.StatusCode.System.dll).
// Get by key
IMessageDescription messageDescription = SystemMessages.Messages.Keys["mscorlib.Arg_ParamName_Name"];
// Print template text
WriteLine(messageDescription.Template); // "Parameter name: {0}"
Each scraped statuscode key has a field, permanently assigned unique code, associated hresult and exception, associated group and description template text.
// Argumentize file not found
IMessage filenotfound = SystemMessages.IO.FileNotFoundFileName.New("file.txt");
// Print template text
WriteLine(filenotfound); // "Could not find file 'file.txt'."
HttpStatusCodes.Instance is a table that contains Http StatusCodes (Avalanche.StatusCode.Http.dll).
// Get by code
IMessageDescription messageDescription = HttpStatusCodes.Instance.Codes[404];
// Print template text
WriteLine(messageDescription.Template); // "NotFound"
OpcUaStatusCodes.Instance is table that contains OPC-UA StatusCodes (Avalanche.StatusCode.OpcUa.dll).
// Create code
IMessage statusCode = OpcUaStatusCodes.Instance.BadDisconnect.New();
// Print
WriteLine(statusCode.Print());