Пример #1
0
        private void Init()
        {
            // Events
            {
                EventInfo[] eventInfos = this.GetType().GetEvents(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
                foreach (EventInfo eventInfo in eventInfos.Where(MauEventAttribute.HasAttribute))
                {
                    var attr = eventInfo.GetCustomAttribute <MauEventAttribute>();
                    HandledEvents.Add(attr.EventName, eventInfo);
                }
            }

            // Properties
            {
                PropertyInfo[] propertyInfos = this.GetType().GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
                foreach (PropertyInfo propertyInfo in propertyInfos.Where(MauProperty.HasAttribute))
                {
                    var attr = propertyInfo.GetCustomAttribute <MauProperty>();
                    HandledProps.Add(attr.PropertyName, new MauPropertyHolder(propertyInfo, true));
                }
            }

            // Vars
            {
                PropertyInfo[] varInfos = this.GetType().GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
                foreach (PropertyInfo varInfo in varInfos.Where(MauVariable.HasAttribute))
                {
                    HandledVars.Add(varInfo.Name, varInfo);
                }
            }

            // Methods
            {
                MethodInfo[] methodInfos = this.GetType().GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
                foreach (MethodInfo methodInfo in methodInfos.Where(MauMethod.HasAttribute))
                {
                    var attr = methodInfo.GetCustomAttribute <MauMethod>();
                    HandledMethods.Add(attr.MethodName, methodInfo);
                }
            }

            MyAngularUi.RegisterComponent(this);
        }