Skip to content

Commit 29add6d

Browse files
authored
Reduce enumerator boxing in ProjectElementContainer (#11808)
Fixes # ### Context ### Changes Made ### Testing ### Notes
2 parents dccca23 + 34fd0e0 commit 29add6d

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/Build/Construction/ProjectElementContainer.cs

+9-2
Original file line numberDiff line numberDiff line change
@@ -858,7 +858,9 @@ public bool Remove(T item)
858858
return false;
859859
}
860860

861-
public IEnumerator<T> GetEnumerator() => new Enumerator(_initial, _forwards);
861+
public Enumerator GetEnumerator() => new Enumerator(_initial, _forwards);
862+
863+
IEnumerator<T> IEnumerable<T>.GetEnumerator() => GetEnumerator();
862864

863865
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
864866

@@ -948,13 +950,18 @@ internal ProjectElementSiblingEnumerable(ProjectElement initial, bool forwards =
948950
/// <summary>
949951
/// Get enumerator
950952
/// </summary>
951-
public readonly IEnumerator<ProjectElement> GetEnumerator() => _enumerator;
953+
public readonly Enumerator GetEnumerator() => _enumerator;
952954

953955
/// <summary>
954956
/// Get non generic enumerator
955957
/// </summary>
956958
IEnumerator IEnumerable.GetEnumerator() => _enumerator;
957959

960+
/// <summary>
961+
/// Get enumerator
962+
/// </summary>
963+
IEnumerator<ProjectElement> IEnumerable<ProjectElement>.GetEnumerator() => _enumerator;
964+
958965
/// <summary>
959966
/// Enumerator over a series of sibling ProjectElement objects
960967
/// </summary>

0 commit comments

Comments
 (0)