Add and use Endianness enum

This commit is contained in:
Matt Nadareski
2020-09-03 21:39:16 -07:00
parent c7f0fbbb65
commit ad0e5a7f0f
7 changed files with 81 additions and 16 deletions

View File

@@ -208,6 +208,33 @@ namespace SabreTools.Library.Tools
#endif
}
/// <summary>
/// Get Endianness value from input string
/// </summary>
/// <param name="endianness">String to get value from</param>
/// <returns>Endianness value corresponding to the string</returns>
public static Endianness AsEndianness(this string endianness)
{
#if NET_FRAMEWORK
switch (endianness?.ToLowerInvariant())
{
case "big":
return Endianness.Big;
case "little":
return Endianness.Little;
default:
return Endianness.NULL;
}
#else
return endianness?.ToLowerInvariant() switch
{
"big" => Endianness.Big,
"little" => Endianness.Little,
_ => Endianness.NULL,
};
#endif
}
/// <summary>
/// Get FeatureStatus value from input string
/// </summary>
@@ -2207,6 +2234,33 @@ namespace SabreTools.Library.Tools
#endif
}
/// <summary>
/// Get string value from input Endianness
/// </summary>
/// <param name="endianness">Endianness to get value from</param>
/// <returns>String value corresponding to the Endianness</returns>
public static string FromEndianness(this Endianness endianness)
{
#if NET_FRAMEWORK
switch (endianness)
{
case Endianness.Big:
return "big";
case Endianness.Little:
return "little";
default:
return null;
}
#else
return endianness switch
{
Endianness.Big => "big",
Endianness.Little => "little",
_ => null,
};
#endif
}
/// <summary>
/// Get string value from input FeatureStatus
/// </summary>