/// <summary> /// Determines if a member is valid for this repository. /// </summary> /// <param name="fieldInfo">The member to test.</param> /// <returns><c>true</c> if the member is valid.</returns> protected virtual bool MemberFilter(FieldInfo fieldInfo) { if (fieldInfo == null) return false; if (fieldInfo.GetExternalVisibility() == ExternalVisibilityKind.Hidden) return false; var name = fieldInfo.Name; if (name.Length >= 2 && (name[0] == '$' || name[name.Length - 1] == '$')) return false; if (fieldInfo.IsSpecialName) return false; return true; }