public virtual UserProperties NewUserProperties() { UserProperties u = new UserProperties(); this.userProperties.Add(u); return(u); }
public virtual void RemoveUserProperties(UserProperties u) { if (this.userProperties.Contains(u)) { this.userProperties.Remove(u); } }
// This method will be used for non-root objects. // Note that a complex type can be saved by different parent nodes using different element names. public virtual void Save(XmlNode parentNode, string elementName) { XmlDocument parentDocument = parentNode as XmlDocument; if (parentDocument == null) { parentDocument = parentNode.OwnerDocument; } XmlElement myElement = parentDocument.CreateElement(elementName); parentNode.AppendChild(myElement); if (myElement.Attributes["xmlns"] == null) { myElement.SetAttribute("xmlns", "http://schemas.microsoft.com/developer/msbuild/2003"); } int i; XmlHelper.SetAttribute(myElement, "DefaultTargets", this.defaultTargets, typeof(string)); if (this.toolsVersion != null) { XmlHelper.SetAttribute(myElement, "ToolsVersion", this.toolsVersion, typeof(string)); } for (i = 0; (i < this.propertyGroups.Count); i = (i + 1)) { PropertyGroup relObject = this.propertyGroups[i]; relObject.Save(myElement, "PropertyGroup"); } for (i = 0; (i < this.itemGroups.Count); i = (i + 1)) { ItemGroup relObject = this.itemGroups[i]; relObject.Save(myElement, "ItemGroup"); } if (this.userProperties.Count > 0) { XmlElement projectExtensionsElement = parentDocument.CreateElement("ProjectExtensions"); myElement.AppendChild(projectExtensionsElement); XmlElement visualStudioElement = parentDocument.CreateElement("VisualStudio"); projectExtensionsElement.AppendChild(visualStudioElement); for (i = 0; (i < this.userProperties.Count); i = (i + 1)) { UserProperties relObject = this.userProperties[i]; relObject.Save(visualStudioElement, "UserProperties"); } } for (i = 0; (i < this.imports.Count); i = (i + 1)) { Import relObject = this.imports[i]; relObject.Save(myElement, "Import"); } }