using System; using System.Collections.Generic; using System.Linq; using System.Text; using Cosmos.IL2CPU.Plugs; namespace Cosmos.IL2CPU.IL.CustomImplementations.System { //[Plug(Target = typeof(bool))] public static class BooleanImpl { //NOTE; Not used any more?? //public static string ToString(ref Boolean aThis) //{ // if (aThis) // { // return "true"; // } // else // { // return "false"; // } //} public static bool Parse(string aBoolText) { if (aBoolText == null) { throw new ArgumentNullException("aBoolText"); } Boolean xResult = false; if (!Boolean.TryParse(aBoolText, out xResult)) { throw new FormatException("String was not recognized as a valid Boolean."); } return xResult; } public static bool TryParse(string aBoolText, out Boolean aResult) { aResult = false; //Currently .Equals(string, StringComparison) does not work, so only exactly "True" and "False" work. Not "true", "tRuE" etc. if ("True".Equals(aBoolText, StringComparison.OrdinalIgnoreCase)) { aResult = true; return true; } else if ("False".Equals(aBoolText, StringComparison.OrdinalIgnoreCase)) { aResult = false; return true; } return false; } } }