Metody ListViewGroupCollection vyvolá novou výjimku InvalidOperationException
Dříve došlo k InvalidOperationException vyvolání ListViewGroupCollection metod ve virtuálním ListView režimu a Handle již byla vytvořena. Počínaje rozhraním .NET 6 teď tyto ListViewGroupCollection metody kontrolují pouze to, jestli je ve virtuálním ListView režimu. Pokud ano, zobrazí InvalidOperationException se jim popisnější zpráva.
Předchozí chování
Vezměte v úvahu následující kód, který přidá ListViewGroup do ListView:
ListViewGroup group1 = new ListViewGroup
{
Header = "CollapsibleGroup1",
CollapsedState = ListViewGroupCollapsedState.Expanded
};
listView.Groups.Add(group1);
Tento kód vytvořil InvalidOperationException následující zprávu:
Pokud je ListView ve virtuálním režimu, nelze vytvořit výčet prostřednictvím kolekce položek ListView pomocí enumerátoru nebo volání GetEnumerator. Místo toho použijte indexer položek ListView a získejte přístup k položce podle hodnoty indexu.
Nové chování
Stejný kód z oddílu Předchozí chování vytvoří InvalidOperationException následující zprávu:
Skupiny nelze přidat do kolekce skupin ListView, pokud je ListView ve virtuálním režimu.
Kategorie změny
Tato změna má vliv na binární kompatibilitu.
Důvod změny
Nová InvalidOperationException zpráva je srozumitelnější. Kromě toho zavře alternativní řešení, kde by vývojář mohl přidat k ListViewGroup ListView před vytvořením Handle .
Zavedená verze
.NET 6 RC 2
Doporučená akce
- Zkontrolujte a v případě potřeby aktualizujte kód tak, aby nepřidá ListViewGroup do ListView virtuálního režimu.
- Pokud váš kód zpracovává InvalidOperationException výjimky, možná budete muset zprávu aktualizovat tak, aby odrážela, že je ve ListView virtuálním režimu.