ProjectElementContainer Class

Definition

A container for project elements

public ref class ProjectElementContainer abstract : Microsoft::Build::Construction::ProjectElement
public abstract class ProjectElementContainer : Microsoft.Build.Construction.ProjectElement
type ProjectElementContainer = class
    inherit ProjectElement
Public MustInherit Class ProjectElementContainer
Inherits ProjectElement
Inheritance
ProjectElementContainer
Derived

Properties

AllChildren

Get an enumerator over all descendants in a depth-first manner.

AllParents

All parent elements of this element, going up to the ProjectRootElement. None if this itself is a ProjectRootElement. None if this itself has not been attached to a parent yet.

(Inherited from ProjectElement)
Children

Get enumerable over all the children

ChildrenReversed

Get enumerable over all the children, starting from the last

Condition

Gets or sets the Condition value. It will return empty string IFF a condition attribute is legal but it’s not present or has no value. It will return null IFF a Condition attribute is illegal on that element. Removes the attribute if the value to set is empty. It is possible for derived classes to throw an InvalidOperationException if setting the condition is not applicable for those elements.

(Inherited from ProjectElement)
ConditionLocation

Location of the "Condition" attribute on this element, if any. If there is no such attribute, returns null.

(Inherited from ProjectElement)
ContainingProject

ProjectRootElement (possibly imported) that contains this Xml. Cannot be null.

(Inherited from ProjectElement)
Count

Number of children of any kind

ElementName

Gets the name of the associated element. Useful for display in some circumstances.

(Inherited from ProjectElement)
FirstChild

First child, if any, otherwise null. Cannot be set directly; use PrependChild().

Label

Gets or sets the Label value. Returns empty string if it is not present. Removes the attribute if the value to set is empty.

(Inherited from ProjectElement)
LabelLocation

Location of the "Label" attribute on this element, if any. If there is no such attribute, returns null;

(Inherited from ProjectElement)
LastChild

Last child, if any, otherwise null. Cannot be set directly; use AppendChild().

Location

Location of the corresponding Xml element. May not be correct if file is not saved, or file has been edited since it was last saved. In the case of an unsaved edit, the location only contains the path to the file that the element originates from.

(Inherited from ProjectElement)
NextSibling

Next sibling element. May be null.

(Inherited from ProjectElement)
OuterElement

The outer markup associated with this project element.

(Inherited from ProjectElement)
Parent

Null if this is a ProjectRootElement. Null if this has not been attached to a parent yet.

(Inherited from ProjectElement)
PreviousSibling

Previous sibling element. May be null.

(Inherited from ProjectElement)

Methods

AppendChild(ProjectElement)

Inserts the provided element as the last child. Throws if the parent is not itself parented. Throws if the node to add is already parented. Throws if the node to add was created from a different project than this node.

Clone()

Returns a shallow clone of this project element.

(Inherited from ProjectElement)
Clone(ProjectRootElement)

Returns a shallow clone of this project element.

(Inherited from ProjectElement)
CopyFrom(ProjectElement)

Applies properties from the specified type to this instance.

(Inherited from ProjectElement)
CreateNewInstance(ProjectRootElement)

Returns a new instance of this same type. Any properties that cannot be set after creation should be set to copies of values as set for this instance.

(Inherited from ProjectElement)
DeepClone(ProjectRootElement, ProjectElementContainer)

Returns a clone of this project element and all its children.

DeepCopyFrom(ProjectElementContainer)

Applies properties from the specified type to this instance.

InsertAfterChild(ProjectElement, ProjectElement)

Insert the child after the reference child. Reference child if provided must be parented by this element. Reference child may be null, in which case this is equivalent to PrependChild(child). Throws if the parent is not itself parented. Throws if the reference node does not have this node as its parent. Throws if the node to add is already parented. Throws if the node to add was created from a different project than this node.

InsertBeforeChild(ProjectElement, ProjectElement)

Insert the child before the reference child. Reference child if provided must be parented by this element. Reference child may be null, in which case this is equivalent to AppendChild(child). Throws if the parent is not itself parented. Throws if the reference node does not have this node as its parent. Throws if the node to add is already parented. Throws if the node to add was created from a different project than this node.

PrependChild(ProjectElement)

Inserts the provided element as the first child. Throws if the parent is not itself parented. Throws if the node to add is already parented. Throws if the node to add was created from a different project than this node.

RemoveAllChildren()

Remove all the children, if any.

RemoveChild(ProjectElement)

Removes the specified child. Throws if the child is not currently parented by this object. This is O(1). May be safely called during enumeration of the children.

ShouldCloneXmlAttribute(XmlAttribute)

Hook for subclasses to specify whether the given attribute should be cloned or not

(Inherited from ProjectElement)

Applies to