C# Find a variable by value
c#
Solution
A good C# practice is using of an enum:
public enum ErrorCode
{
NORMAL_STOP = 0x00000000,
LIB_BROKEN = 0x000000a1,
RESOURCE_MISSING = 0x000000a2,
METHOD_NOT_FOUND = 0x000000a3,
FRAMEWORK_ERROR = 0x000000b1,
UNKNOWN = 0x000000ff
}
public const string InvalidErrorCodeMessage = "Class not found";
public static string GetName(ErrorCode code)
{
var isExist = Enum.IsDefined(typeof(ErrorCode), code);
return isExist ? code.ToString() : InvalidErrorCodeMessage;
}
public static string GetName(int code)
{
return GetName((ErrorCode)code);
}
Another good advice: it would be great to use the C# naming convention for error codes:
public enum ErrorCode
{
NormalStop = 0x00000000,
LibBroken = 0x000000a1,
ResourceMissing = 0x000000a2,
MethodNotFound = 0x000000a3,
FrameworkError = 0x000000b1,
Unknown = 0x000000ff
}
Usage example:
void Main()
{
Console.WriteLine(GetName(0)); // NormalStop
Console.WriteLine(GetName(1)); // Class not found
Console.WriteLine(GetName(ErrorCode.Unknown)); // Unknown
}
Problem
I am making an "error code to String" converter that would display the name of an error code from its value, for example `0x000000c3` would give `"Class not found"`, but using MY OWN error codes! Here's how it actually looks like: ``` #region errcodes public int NORMAL_STOP = 0x00000000; public int LIB_BROKEN = 0x000000a1; public int RESOURCE_MISSING = 0x000000a2; public int METHOD_NOT_FOUND = 0x000000a3; public int FRAMEWORK_ERROR = 0x000000b1; public int UNKNOWN = 0x000000ff; #endregion public string getName(int CODE) { } ``` I would like to get a `string` value from parameter `CODE`, in function `getName`. How can I do that ?