[NUI] restore TypeConverter support for Properties (#1918)
authorYeongJong Lee <cleanlyj@naver.com>
Thu, 20 Aug 2020 07:06:07 +0000 (16:06 +0900)
committerGitHub <noreply@github.com>
Thu, 20 Aug 2020 07:06:07 +0000 (16:06 +0900)
Since commit 97c4baea0ef21936602db814fd2a9177ddf6e673, TypeConverter of
Properties has not worked. this patch will fix this issue.

Test Code:
```cs
public class TestClass
{
    [TypeConverter(typeof(MyTypeConverter))]
    public int TestProperty { get; set; }

public class MyTypeConverter : TypeConverter, IExtendedTypeConverter
{
object IExtendedTypeConverter.ConvertFromInvariantString(string value, IServiceProvider serviceProvider)
{
...
...
return value;
}
...
}
}
```

src/Tizen.NUI/src/internal/Xaml/TypeConversionExtensions.cs

index 94e4a96..e166525 100755 (executable)
@@ -62,6 +62,7 @@ namespace Tizen.NUI.Xaml
         {
             Func<object> getConverter = () =>
             {
+                MemberInfo memberInfo;
                 string converterTypeName = null;
                 Type realType = toType;
 
@@ -71,6 +72,8 @@ namespace Tizen.NUI.Xaml
                 }
 
                 converterTypeName = realType.CustomAttributes.GetTypeConverterTypeName();
+                if (minfoRetriever != null && (memberInfo = minfoRetriever()) != null)
+                    converterTypeName = memberInfo.CustomAttributes.GetTypeConverterTypeName() ?? converterTypeName;
 
                 if (converterTypeName == null)
                 {