public static bool AnyPropertyGroupElementExists(this ProjectXElement projectXElement, out PropertyGroupXElement propertyGroupXElement) { var anyPropertyGroupElementExists = projectXElement.Value.HasElement(ProjectFileXmlElementName.PropertyGroup, out var xElement); propertyGroupXElement = anyPropertyGroupElementExists ? PropertyGroupXElement.New(xElement) : default; return(anyPropertyGroupElementExists); }
/// <summary> /// The primary property group element makes use of the fact that the <see cref="ProjectFileXmlElementName.TargetFramework"/> property always exists. /// </summary> public static bool HasPrimaryPropertyGroupElement(this ProjectXElement projectXElement, out PropertyGroupXElement primaryPropertyGroupXElement) { var hasPrimaryPropertyGroupElement = projectXElement.HasPropertyGroupElementWithChildSingleOrDefault(ProjectFileXmlElementName.TargetFramework, out var propertyGroupElement); primaryPropertyGroupXElement = hasPrimaryPropertyGroupElement ? PropertyGroupXElement.New(propertyGroupElement) : default; return(hasPrimaryPropertyGroupElement); }
public static PropertyGroupXElement AcquireFirstPropertyGroupXElement(this ProjectXElement projectXElement) { // Do any <PropertyGroup> elements exist? var anyPropertyGroupElementExists = projectXElement.AnyPropertyGroupElementExists(out var propertyGroupXElement); if (!anyPropertyGroupElementExists) { // No? Create and add a <PropertyGroup> element, var xElement = projectXElement.Value.AddElement(ProjectFileXmlElementName.PropertyGroup); propertyGroupXElement = PropertyGroupXElement.New(xElement); } return(propertyGroupXElement); }