internal override bool IsVisible(XamlMember member, XamlType rootObjectType) { if (member == null) { return false; } Type accessingType = null; if (this.AllowProtectedMembersOnRoot && (rootObjectType != null)) { accessingType = rootObjectType.UnderlyingType; } if (member.IsWriteVisibleTo(this.LocalAssembly, accessingType)) { return true; } if (!member.IsReadOnly && ((member.Type == null) || !member.Type.IsUsableAsReadOnly)) { return false; } return member.IsReadVisibleTo(this.LocalAssembly, accessingType); }