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); }
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); }
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); }
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); }