/// <summary> /// Decodes a ShGuid /// </summary> /// <param name="encodedShGuid"></param> /// <param name="settings"><see cref="ShGuidSettings"/> </param> /// <returns>A ShGuid</returns> public static ShGuid Decode(string encodedShGuid, ShGuidSettings settings = null) { settings = ShGuidSettings.CreateDefaultIfNull(settings); byte[] buffer = DecodeToByteArray(encodedShGuid, settings); var decodedGuid = new Guid(buffer); var shGuid = new ShGuid(decodedGuid, settings); return(shGuid); }
/// <summary> /// Try to parse a Guid and create a ShGuid /// </summary> /// <param name="stringifiedGuid">A stringified guid</param> /// <param name="shGuid">An initialized ShGuid</param> /// <param name="settings"><see cref="ShGuidSettings"/> </param> /// <returns><c>true</c> if the initialization was successful</returns> public static bool TryParse(string stringifiedGuid, out ShGuid shGuid, ShGuidSettings settings = null) { shGuid = null; Guid guid; if (Guid.TryParse(stringifiedGuid, out guid)) { shGuid = new ShGuid(guid, settings); return(true); } return(false); }
/// <summary> /// Try decode an encoded ShGuid and create a ShGuid /// </summary> /// <param name="encodedShGuid">An encoded ShGuid</param> /// <param name="shGuid">An initialized ShGuid</param> /// <param name="settings"><see cref="ShGuidSettings"/></param> /// <returns><c>True</c> if the initialization was successful</returns> public static bool TryDecode(string encodedShGuid, out ShGuid shGuid, ShGuidSettings settings = null) { shGuid = null; settings = ShGuidSettings.CreateDefaultIfNull(settings); Guid guid; try { var buffer = DecodeToByteArray(encodedShGuid, settings); var stringifiedGuid = Encoding.UTF8.GetString(buffer); guid = new Guid(buffer); shGuid = new ShGuid(guid, settings); return(true); } catch (FormatException) { return(false); } }