Baca dalam bahasa Inggris

Bagikan melalui


Metode ListViewGroupCollection menampilkan InvalidOperationException baru

Sebelumnya, InvalidOperationException dilemparkan jika ListViewGroupCollection metode dipanggil pada ListView mode virtual dan Handle telah dibuat. Mulai dari .NET 6, metode ini ListViewGroupCollection sekarang hanya memeriksa apakah ListView dalam mode virtual. Jika ya, mereka melemparkan InvalidOperationException dengan pesan yang lebih deskriptif.

Perilaku sebelumnya

Pertimbangkan kode berikut yang menambahkan ListViewGroup ke ListView:

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

listView.Groups.Add(group1);

Kode ini menghasilkan InvalidOperationException dengan pesan berikut:

Saat ListView berada dalam mode virtual, Anda tidak dapat menghitung melalui kumpulan item ListView menggunakan enumerator atau memanggil GetEnumerator. Gunakan pengindeks item ListView sebagai gantinya dan akses item menurut nilai indeks.

Perilaku yang baru

Kode yang sama dari bagian Perilaku sebelumnya menghasilkan dengan InvalidOperationException pesan berikut:

Anda tidak dapat menambahkan grup ke koleksi grup ListView saat ListView berada dalam mode virtual.

Mengubah kategori

Perubahan ini memengaruhi kompatibilitas biner.

Alasan untuk berubah

Pesan baru InvalidOperationException lebih dapat dimengerti. Selain itu, ini menutup solusi di mana pengembang dapat menambahkan ListViewGroup ke ListView sebelum Handle dibuat.

Versi yang diperkenalkan

.NET 6 RC 2

  • Tinjau dan, jika perlu, perbarui kode Anda sehingga tidak menambahkan ListViewGroup ke ListView dalam mode virtual.
  • Jika kode Anda menangani InvalidOperationException pengecualian, Anda mungkin perlu memperbarui pesan untuk mencerminkan bahwa ListView berada dalam mode virtual.

API yang Terpengaruh