ListViewGroupCollection 메서드가 새 InvalidOperationException을 throw함

이전에는 가상 모드의 ListView에서 ListViewGroupCollection 메서드가 호출되고 그리고 Handle가 이미 만들어져 있는 경우 InvalidOperationException이 throw되었습니다. .NET 6부터 이러한 메서드는 ListViewGroupCollection 이제 ListView가 가상 모드에 있는지만 확인합니다. 가상 모드인 경우 보다 설명적인 메시지를 사용하여 InvalidOperationException을 throw합니다.

이전 동작

ListViewGroupListView에 추가하는 다음 코드를 고려합니다.

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

listView.Groups.Add(group1);

이 코드는 다음 메시지를 사용하여 InvalidOperationException을 생성합니다.

ListView가 가상 모드에 있으면 열거자를 사용하여 ListView 항목 컬렉션을 열거하거나 GetEnumerator를 호출할 수 없습니다. 대신 ListView 항목 인덱서를 사용하고 인덱스 값으로 항목에 액세스합니다.

새 동작

이전 동작 섹션과 동일한 코드는 다음 메시지를 사용하여 InvalidOperationException을 생성합니다.

ListView가 가상 모드에 있는 경우 ListView 그룹 컬렉션에 그룹을 추가할 수 없습니다.

범주 변경

이 변경 내용은 이진 호환성에 영향을 미칩니다.

변경 이유

InvalidOperationException 메시지는 이해하기 더 쉽습니다. 또한 Handle이 만들어지기 전에 개발자가 ListViewGroupListView에 추가할 수 있는 해결 방법을 없앱니다.

도입된 버전

.NET 6 RC 2

  • 가상 모드에서 ListViewGroupListView에 추가하지 않도록 코드를 검토하고 필요한 경우 업데이트합니다.
  • 코드에서 InvalidOperationException 예외를 처리하는 경우 ListView가 가상 모드에 있음을 반영하도록 메시지를 업데이트해야 할 수 있습니다.

영향을 받는 API