/// <summary> /// Look for a FieldInfo in the given object; search all base types for the FieldInfo /// </summary> /// <param name="pc">Object to search the FieldInfo</param> /// <param name="name">Name of the field</param> /// <returns>The FieldInfo of the given field; An exception will be thrown, if the field can't be found.</returns> private FieldInfo GetFieldInfo(IPersistenceCapable pc, string name) { Type t = pc.GetType(); FieldInfo fi = new BaseClassReflector(t).GetField(name, BindingFlags.Instance | BindingFlags.NonPublic); if (fi == null) { throw new NDOException(9, "Invalid mapping: unknown field name " + name + " in type " + t); } return(fi); }
/// <summary> /// Determine the type of a relation field. /// </summary> /// <param name="r"></param> /// <returns></returns> public Type GetRelationFieldType(Relation r) { FieldInfo fi = new BaseClassReflector(r.Parent.SystemType).GetField(r.FieldName, BindingFlags.NonPublic | BindingFlags.Instance); return(fi.FieldType); }