2 using System.Reflection;
4 namespace Tizen.NUI.Xaml
6 [AttributeUsage(AttributeTargets.Assembly, Inherited = false, AllowMultiple = true)]
7 internal sealed class XamlResourceIdAttribute : Attribute
9 public string ResourceId { get; set; }
10 public string Path { get; set; }
11 public Type Type { get; set; }
13 public XamlResourceIdAttribute(string resourceId, string path, Type type)
15 ResourceId = resourceId;
20 internal static string GetResourceIdForType(Type type)
22 var assembly = type.GetTypeInfo().Assembly;
23 foreach (var xria in assembly.GetCustomAttributes<XamlResourceIdAttribute>()) {
24 if (xria.Type == type)
25 return xria.ResourceId;
30 internal static string GetPathForType(Type type)
32 var assembly = type.GetTypeInfo().Assembly;
33 foreach (var xria in assembly.GetCustomAttributes<XamlResourceIdAttribute>()) {
34 if (xria.Type == type)
40 internal static string GetResourceIdForPath(Assembly assembly, string path)
42 foreach (var xria in assembly.GetCustomAttributes<XamlResourceIdAttribute>()) {
43 if (xria.Path == path)
44 return xria.ResourceId;
49 internal static Type GetTypeForResourceId(Assembly assembly, string resourceId)
51 foreach (var xria in assembly.GetCustomAttributes<XamlResourceIdAttribute>()) {
52 if (xria.ResourceId == resourceId)
58 internal static Type GetTypeForPath(Assembly assembly, string path)
60 foreach (var xria in assembly.GetCustomAttributes<XamlResourceIdAttribute>()) {
61 if (xria.Path == path)