+ public static TypeReference GetRealTypeIfIsMarkupExtension(this TypeReference typeRef)
+ {
+ TypeReference ret = null;
+
+ var typeDef = typeRef.ResolveCached();
+
+ foreach (var @interface in typeDef.Interfaces)
+ {
+ if (@interface.InterfaceType is GenericInstanceType instanceType)
+ {
+ if ("Tizen.NUI.Xaml.IMarkupExtension`1" == instanceType.ElementType.FullName
+ &&
+ 1 == instanceType.GenericArguments.Count)
+ {
+ ret = instanceType.GenericArguments[0];
+ break;
+ }
+ }
+ }
+
+ if (null == ret)
+ {
+ ret = typeDef.BaseType?.GetRealTypeIfIsMarkupExtension();
+ }
+
+ return ret;
+ }
+