public bool Contains(ReferenceTypeFilter item) { if (item == null || _listTypes.Count == 0) { return(false); } return(_listTypes.Contains(item)); }
public override ReferenceFilter Clone() { ReferenceTypeFilter filter = new ReferenceTypeFilter(this); if (_listMembers != null) { filter._listMembers = _listMembers.Clone(); } return(filter); }
public void Remove(ReferenceTypeFilter item) { BuildExceptions.NotNull(item, "item"); if (_listTypes.Count == 0) { return; } _listTypes.Remove(item); }
/// <summary> /// /// </summary> /// <param name="writer"></param> public override void WriteXml(XmlWriter writer) { BuildExceptions.NotNull(writer, "writer"); //<namespace name="System" expose="true"> // <type name="Object" expose="false"> // <member name="ToString" expose="true" /> // </type> //</namespace> bool isExposed = this.Expose; writer.WriteStartElement(TagName); writer.WriteAttributeString("name", this.Name); writer.WriteAttributeString("expose", isExposed.ToString()); int itemCount = _listTypes == null ? 0 : _listTypes.Count; if (isExposed) { for (int i = 0; i < itemCount; i++) { ReferenceTypeFilter typeFilter = _listTypes[i]; if (!typeFilter.Expose) { typeFilter.WriteXml(writer); } } } else { for (int i = 0; i < itemCount; i++) { ReferenceTypeFilter typeFilter = _listTypes[i]; if (typeFilter.Expose) { typeFilter.WriteXml(writer); } } } writer.WriteEndElement(); }
public ReferenceTypeFilter(ReferenceTypeFilter source) : base(source) { _isAttributeType = source._isAttributeType; _listMembers = source._listMembers; }
public void Add(ReferenceTypeFilter item) { BuildExceptions.NotNull(item, "item"); _listTypes.Add(item); }
/// <summary> /// /// </summary> /// <param name="reader"></param> public override void ReadXml(XmlReader reader) { BuildExceptions.NotNull(reader, "reader"); Debug.Assert(reader.NodeType == XmlNodeType.Element); if (reader.NodeType != XmlNodeType.Element) { return; } if (!String.Equals(reader.Name, TagName, StringComparison.OrdinalIgnoreCase)) { return; } string nodeText = reader.GetAttribute("name"); if (!String.IsNullOrEmpty(nodeText)) { this.Name = nodeText; } nodeText = reader.GetAttribute("expose"); if (!String.IsNullOrEmpty(nodeText)) { this.Expose = Convert.ToBoolean(nodeText); } if (reader.IsEmptyElement) { return; } if (_listTypes == null) { _listTypes = new BuildList <ReferenceTypeFilter>(); } string nodeName = null; XmlNodeType nodeType = XmlNodeType.None; while (reader.Read()) { nodeName = reader.Name; nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { if (String.Equals(nodeName, ReferenceTypeFilter.TagName, StringComparison.OrdinalIgnoreCase)) { ReferenceTypeFilter typeFilter = new ReferenceTypeFilter(); typeFilter.ReadXml(reader); _listTypes.Add(typeFilter); } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(nodeName, TagName, StringComparison.OrdinalIgnoreCase)) { break; } } } }