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