Exemplo n.º 1
0
        protected override PropertyDefinition[] GetProperties()
        {
            var definitions = new List <PropertyDefinition>();

            var properties = InterceptableMemberHelper.GetProperties(Type).Where(MemberSelector.IncludeProperty); // virtual

            foreach (var property in properties)
            {
                definitions.Add(new PropertyDefinition(this, property));
            }

            // mixins
            foreach (var mxinDefinition in MixinDefinitions)
            {
                foreach (var propertyDefinition in mxinDefinition.PropertyDefinitions)
                {
                    if (definitions.FirstOrDefault(p => p.Name == propertyDefinition.Name) == null)
                    {
                        definitions.Add(propertyDefinition);
                    }
                }
            }

            return(definitions.ToArray());
        }
Exemplo n.º 2
0
        protected override EventDefinition[] GetEvents()
        {
            var definitions = new List <EventDefinition>();

            var events = InterceptableMemberHelper.GetEvents(Type).Where(MemberSelector.IncludeEvent); // virtual

            foreach (var @event in events)
            {
                definitions.Add(new EventDefinition(this, @event));
            }

            // mixins
            foreach (var mxinDefinition in MixinDefinitions)
            {
                foreach (var eventDefinition in mxinDefinition.EventDefinitions)
                {
                    if (definitions.FirstOrDefault(p => p.Name == eventDefinition.Name) == null)
                    {
                        definitions.Add(eventDefinition);
                    }
                }
            }

            return(definitions.ToArray());
        }
Exemplo n.º 3
0
        protected override MethodDefinition[] GetMethods()
        {
            var definitions = new List <MethodDefinition>();

            var methods = InterceptableMemberHelper.GetMethods(Type).Where(m => MemberSelector.IncludeMethod(m)); // virtual

            foreach (var method in methods)
            {
                definitions.Add(new MethodDefinition(this, method));
            }

            // mixins
            foreach (var mxinDefinition in MixinDefinitions)
            {
                foreach (var methodDefinition in mxinDefinition.MethodDefinitions)
                {
                    if (MethodFinder.FindMethod(methods, methodDefinition.Method) == null)
                    {
                        definitions.Add(methodDefinition);
                    }
                }
            }

            return(definitions.ToArray());
        }
Exemplo n.º 4
0
        protected override EventDefinition[] GetEvents()
        {
            var events = InterceptableMemberHelper.GetInterceptableEvents(Type, Interfaces);
            int length = events.Count;

            EventDefinition[] eventDefinitions = new EventDefinition[length];
            for (int i = 0; i < length; i++)
            {
                eventDefinitions[i] = new EventDefinition(this, events[i]);
            }
            return(eventDefinitions);
        }
Exemplo n.º 5
0
        protected override MethodDefinition[] GetMethods()
        {
            var methods = InterceptableMemberHelper.GetInterceptableMethods(Type, Interfaces);
            int length  = methods.Count;

            MethodDefinition[] methodDefinitions = new MethodDefinition[length];
            for (int i = 0; i < length; i++)
            {
                methodDefinitions[i] = new MethodDefinition(this, methods[i]);
            }
            return(methodDefinitions);
        }
Exemplo n.º 6
0
        protected override PropertyDefinition[] GetProperties()
        {
            var properties = InterceptableMemberHelper.GetInterceptableProperties(Type, Interfaces);
            int length     = properties.Count;

            PropertyDefinition[] propertyDefinitions = new PropertyDefinition[length];
            for (int i = 0; i < length; i++)
            {
                propertyDefinitions[i] = new PropertyDefinition(this, properties[i]);
            }
            return(propertyDefinitions);
        }
        protected override EventDefinition[] GetEvents()
        {
            var definitions = new List <EventDefinition>();

            var events = InterceptableMemberHelper.GetInterceptableEvents(Type, Interfaces);

            foreach (var @event in events)
            {
                definitions.Add(new EventDefinition(this, @event));
            }

            // mixins
            foreach (var mxinDefinition in MixinDefinitions)
            {
                definitions.AddRange(mxinDefinition.EventDefinitions);
            }

            return(definitions.ToArray());
        }
        protected override MethodDefinition[] GetMethods()
        {
            var definitions = new List <MethodDefinition>();

            var methods = InterceptableMemberHelper.GetInterceptableMethods(Type, Interfaces);

            foreach (var method in methods)
            {
                definitions.Add(new MethodDefinition(this, method));
            }

            // mixins
            foreach (var mxinDefinition in MixinDefinitions)
            {
                definitions.AddRange(mxinDefinition.MethodDefinitions);
            }

            return(definitions.ToArray());
        }
        protected override PropertyDefinition[] GetProperties()
        {
            var definitions = new List <PropertyDefinition>();

            var properties = InterceptableMemberHelper.GetInterceptableProperties(Type, Interfaces);

            foreach (var property in properties)
            {
                definitions.Add(new PropertyDefinition(this, property));
            }

            // mixins
            foreach (var mxinDefinition in MixinDefinitions)
            {
                definitions.AddRange(mxinDefinition.PropertyDefinitions);
            }

            return(definitions.ToArray());
        }