From 9e213aac55afd86161aab0e86105e41152be3411 Mon Sep 17 00:00:00 2001 From: Paul Knopf Date: Sun, 30 Dec 2018 00:32:05 +0000 Subject: [PATCH] Removing the try catch, swallowing exceptions. Made the INetJsValue.AsList method more friendly to different types. --- .../Extensions/INetJsValueExtensions.cs | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/net/Qml.Net/Extensions/INetJsValueExtensions.cs b/src/net/Qml.Net/Extensions/INetJsValueExtensions.cs index 3d15ce41..2f2cc0df 100644 --- a/src/net/Qml.Net/Extensions/INetJsValueExtensions.cs +++ b/src/net/Qml.Net/Extensions/INetJsValueExtensions.cs @@ -1,4 +1,6 @@ using System.Collections.Generic; +using System.ComponentModel; +using System.Globalization; namespace Qml.Net.Extensions { @@ -17,23 +19,19 @@ namespace Qml.Net.Extensions return null; } + var destinationConverter = TypeDescriptor.GetConverter(typeof(T)); + var list = new List(); - try - { - var length = (int)value.GetProperty("length"); - for (var i = 0; i < length; i++) - { - var item = value.GetItemAtIndex(i); - list.Add((T)item); - } + var length = (int)value.GetProperty("length"); - return list; - } - catch + for (var i = 0; i < length; i++) { - return null; + var item = value.GetItemAtIndex(i); + list.Add((T)destinationConverter.ConvertFrom(null, CultureInfo.InvariantCulture, item)); } + + return list; } } } \ No newline at end of file