public static bool TryGetDataUriDeserializer(string mimeType, out IDataUriDeserializer dataUriDeserializer) { if (_dataUriDeserializers.ContainsKey(mimeType)) { dataUriDeserializer = _dataUriDeserializers[mimeType]; return(true); } dataUriDeserializer = default; return(false); }
/// <summary> /// Add am additional mimeType to the dataDeserializer registry /// </summary> /// <param name="mimeType">mime type to accept, will override existing deserializers</param> /// <param name="dataUriDeserializer">The data deserializer to use</param> public static void RegisterDataDeserializer(string mimeType, IDataUriDeserializer dataUriDeserializer) { _dataUriDeserializers[mimeType] = dataUriDeserializer; }
/// <summary> /// Converts a data uri to an object based on known dataUri deserializers /// </summary> /// <typeparam name="T">Type of the object to return</typeparam> /// <param name="dataUri">DataUri to deserialize</param> /// <returns>Object deserialized from the dataUri</returns> public static T ToObject <T>(DataUri dataUri) { IDataUriDeserializer deserializer = GetDataUriDeserializer(dataUri.MediaType.MimeType); return((T)deserializer.DeserializeDataUri(dataUri, typeof(T))); }