以前は、仮想モードの InvalidOperationException で ListViewGroupCollection メソッドが呼び出され、"ListView" が既に作成されていた場合に、Handle がスローされました。 .NET 6 以降では、これらの ListViewGroupCollection メソッドは、 ListView が仮想モードであるかどうかを確認するようになりました。 その場合は、よりわかりやすいメッセージを含む InvalidOperationException を発生させます。
以前の動作
ListViewGroupにListViewを追加する次のコードについて考えてみましょう。
ListViewGroup group1 = new ListViewGroup
{
Header = "CollapsibleGroup1",
CollapsedState = ListViewGroupCollapsedState.Expanded
};
listView.Groups.Add(group1);
このコードでは、次のメッセージを含む InvalidOperationException が生成されました。
ListView が仮想モードの場合、列挙子を使用して ListView 項目コレクションを列挙したり、GetEnumerator を呼び出したりすることはできません。 代わりに ListView 項目インデクサーを使用し、インデックス値で項目にアクセスします。
新しい動作
前の動作セクションと同じコードで、次のメッセージを含むInvalidOperationExceptionが生成されます。
ListView が仮想モードの場合、ListView グループ コレクションにグループを追加することはできません。
カテゴリの変更
この変更は バイナリの互換性に影響します。
変更の理由
新しい InvalidOperationException メッセージの理解が深くなります。 さらに、ListViewGroupが作成される前に、開発者がListViewにHandleを追加できる回避策を終了します。
導入されたバージョン
.NET 6 RC 2
推奨されるアクション
- 必要に応じて、仮想モードのListViewGroupにListViewを追加しないようにコードを確認し、更新します。
- コードが InvalidOperationException 例外を処理する場合は、 ListView が仮想モードであることを反映するようにメッセージを更新する必要があります。
影響を受ける API
.NET