void DeserializeResources(JObject jobj, Type resourceType, JsonSerializer serializer, DotvvmResourceRepository repo) { foreach (var resObj in jobj) { var resource = serializer.Deserialize(resObj.Value.CreateReader(), resourceType) as ResourceBase; repo.Register(resObj.Key, resource); } }
void DeserializeResources(JObject jobj, Type resourceType, JsonSerializer serializer, DotvvmResourceRepository repo) { foreach (var resObj in jobj) { try { var resource = serializer.Deserialize(resObj.Value.CreateReader(), resourceType) as IResource; if (resource is LinkResourceBase linkResource) { if (linkResource.Location == null) { linkResource.Location = new UnknownResourceLocation(); } } repo.Register(resObj.Key, resource); } catch (Exception ex) { repo.Register(resObj.Key, new DeserializationErrorResource(ex, resObj.Value)); } } }