/// <summary>
/// Attempts to create an instance of <see cref="KeyValue"/> from the given input text.
/// </summary>
/// <param name="input">The input text to load.</param>
/// <returns>a <see cref="KeyValue"/> instance if the load was successful, or <c>null</c> on failure.</returns>
/// <remarks>
/// This method will swallow any exceptions that occur when reading, use <see cref="ReadAsText"/> if you wish to handle exceptions.
/// </remarks>
public static KeyValue LoadFromString(string input)
{
byte[] bytes = Encoding.UTF8.GetBytes(input);
using (var stream = new MemoryStream(bytes))
{
var kv = new KeyValue(null, null);
try
{
if (kv.ReadAsText(stream) == false)
{
return(null);
}
return(kv);
}
catch (Exception)
{
return(null);
}
}
}