ListViewGroupCollection-metoder genererar nya InvalidOperationException

Tidigare utlöstes ett InvalidOperationException om ListViewGroupCollection metoder anropades på ett ListView i virtuellt läge ochHandle hade redan skapats. Från och med .NET 6 kontrollerar dessa ListViewGroupCollection metoder nu endast om de ListView är i virtuellt läge. I så fall genererar de ett InvalidOperationException med ett mer beskrivande meddelande.

Tidigare beteende

Överväg följande kod som lägger till en ListViewGroup i en ListView:

ListViewGroup group1 = new ListViewGroup
{
    Header = "CollapsibleGroup1",
    CollapsedState = ListViewGroupCollapsedState.Expanded
};

listView.Groups.Add(group1);

Den här koden skapade ett InvalidOperationException med följande meddelande:

När ListView är i virtuellt läge kan du inte räkna upp genom samlingen ListView-objekt med hjälp av en uppräknare eller anropa GetEnumerator. Använd ListView-objektindexeraren i stället och få åtkomst till ett objekt efter indexvärde.

Nytt beteende

Samma kod från avsnittet Föregående beteende skapar ett InvalidOperationException med följande meddelande:

Du kan inte lägga till grupper i samlingen ListView-grupper när ListView är i virtuellt läge.

Ändra kategori

Den här ändringen påverkar binär kompatibilitet.

Orsak till ändring

Det nya InvalidOperationException meddelandet är mer begripligt. Dessutom stänger den en lösning där utvecklaren kan lägga till en ListViewGroup till ListView innan den Handle skapades.

Version lanserad

.NET 6 RC 2

Berörda API:er