Example #1
0
        public Field TryGetField(MemberInfo member)
        {
            if (member is MethodInfo mi)
            {
                if (mi.IsGenericMethod && mi.GetGenericMethodDefinition().Name == "Mixin")
                {
                    return(Mixins?.TryGetC(mi.GetGenericArguments().Single()));
                }

                return(null);
            }

            if (member is Type)
            {
                return(Mixins?.TryGetC((Type)member));
            }

            FieldInfo fi = member as FieldInfo ?? Reflector.TryFindFieldInfo(Type, (PropertyInfo)member);

            if (fi == null)
            {
                return(null);
            }

            EntityField field = Fields.TryGetC(fi.Name);

            if (field == null)
            {
                return(null);
            }

            return(field.Field);
        }
Example #2
0
        public Field GetField(MemberInfo member)
        {
            if (member is MethodInfo mi)
            {
                if (mi.IsGenericMethod && mi.GetGenericMethodDefinition().Name == "Mixin")
                {
                    if (Mixins == null)
                    {
                        throw new InvalidOperationException("{0} has not mixins".FormatWith(this.Type.Name));
                    }

                    return(Mixins.GetOrThrow(mi.GetGenericArguments().Single()));
                }
            }

            FieldInfo fi = member as FieldInfo ?? Reflector.FindFieldInfo(Type, (PropertyInfo)member);

            if (fi == null)
            {
                throw new InvalidOperationException("Field {0} not found on {1}".FormatWith(member.Name, Type));
            }

            EntityField field = Fields.GetOrThrow(fi.Name, "Field {0} not found on schema");

            return(field.Field);
        }
Example #3
0
        public Field GetField(MemberInfo member)
        {
            FieldInfo fi = member as FieldInfo ?? Reflector.FindFieldInfo(FieldType, (PropertyInfo)member);

            if (fi == null)
            {
                throw new InvalidOperationException("Field {0} not found on {1}".FormatWith(member.Name, FieldType));
            }

            EntityField field = Fields.GetOrThrow(fi.Name, "Field {0} not found on schema");

            return(field.Field);
        }
Example #4
0
        public Field TryGetField(MemberInfo value)
        {
            FieldInfo fi = value as FieldInfo ?? Reflector.TryFindFieldInfo(FieldType, (PropertyInfo)value);

            if (fi == null)
            {
                return(null);
            }

            EntityField field = Fields.TryGetC(fi.Name);

            if (field == null)
            {
                return(null);
            }

            return(field.Field);
        }