Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }