public bool CurrentMemberIsWriteVisible() { Type allowProtectedForType = null; if (AllowProtectedMembersOnRoot && _stack.Depth == 1) { allowProtectedForType = CurrentType.UnderlyingType; } return(CurrentMember.IsWriteVisibleTo(LocalAssembly, allowProtectedForType)); }