/// <summary> /// Decode string /// </summary> /// <typeparam name="T"></typeparam> /// <param name="codec"></param> /// <param name="contentType"></param> /// <param name="input"></param> /// <param name="reader"></param> /// <param name="encoding"></param> /// <returns></returns> public static T Decode <T>(this ITypeSerializer codec, string contentType, string input, Func <IDecoder, T> reader, Encoding encoding) { if (string.IsNullOrEmpty(input)) { throw new ArgumentNullException(nameof(input)); } var buffer = (encoding ?? Encoding.UTF8).GetBytes(input); return(codec.Decode(contentType, buffer, reader)); }