Esempio n. 1
0
        protected void Load(StructureItem assemblyItem, Type type, IList <StructureItem> items)
        {
            Type baseType = type.BaseType;

            if (baseType == null || baseType == typeof(object) || !baseType.IsClass)
            {
                return;
            }
            if (!baseType.IsGenericType || baseType.GetGenericTypeDefinition() != XtraLocalizerType)
            {
                return;
            }
            var arguments = baseType.GetGenericArguments();

            if (arguments.Length == 1 && arguments[0].IsEnum)
            {
                var typeItem = new StructureItem(arguments[0], assemblyItem.ID);
                items.Add(typeItem);
                Array values = Enum.GetValues(arguments[0]);
                for (int i = 0; i < values.Length; i++)
                {
                    Enum value = (Enum)values.GetValue(i);
                    items.Add(new StructureItem(value, type, typeItem.ID));
                }
            }
        }
Esempio n. 2
0
        protected void Load(Assembly assembly, IList <StructureItem> items)
        {
            if (assembly == null)
            {
                return;
            }
            var assemblyItem = new StructureItem(assembly.GetName().Name, -1);

            items.Add(assemblyItem);
            Type[] types = GetTypes(assembly);
            for (int i = 0; i < types.Length; i++)
            {
                Load(assemblyItem, types[i], items);
            }
        }