Serialize and Deserialize extensions

This commit is contained in:
Alexandru Macocian
2021-07-15 12:41:18 +03:00
parent 9609b2912c
commit 22fa8eccf7
2 changed files with 23 additions and 1 deletions
@@ -1,7 +1,25 @@
namespace System.Extensions
using Newtonsoft.Json;
namespace System.Extensions
{
public static class ObjectExtensions
{
public static T Deserialize<T>(this string serialized)
where T : class
{
if (serialized.IsNullOrWhiteSpace()) throw new ArgumentException("Provided serialized string cannot be null or whitespace", nameof(serialized));
return JsonConvert.DeserializeObject<T>(serialized);
}
public static string Serialize<T>(this T obj)
where T : class
{
if (obj is null) throw new ArgumentNullException(nameof(obj));
return JsonConvert.SerializeObject(obj);
}
public static T Cast<T>(this object obj)
{
return (T)obj;