| File: System\Windows\Forms\Design\ListViewItemCollectionEditor.cs | Web Access |
| Project: src\winforms\src\System.Windows.Forms.Design\src\System.Windows.Forms.Design.csproj (System.Windows.Forms.Design) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable disable using System.ComponentModel; using System.ComponentModel.Design; namespace System.Windows.Forms.Design; /// <summary> /// Provides an editor for a ListView items collection. /// </summary> internal class ListViewItemCollectionEditor : CollectionEditor { /// <summary> /// Initializes a new instance of the <see cref="ListViewItemCollectionEditor"/> class. /// </summary> public ListViewItemCollectionEditor(Type type) : base(type) { } /// <inheritdoc /> protected override string GetDisplayText(object value) { if (value is null) { return string.Empty; } string text; PropertyDescriptor property = TypeDescriptor.GetDefaultProperty(CollectionType); if (property?.PropertyType == typeof(string)) { text = (string)property.GetValue(value); if (!string.IsNullOrEmpty(text)) { return text; } } text = TypeDescriptor.GetConverter(value).ConvertToString(value); if (string.IsNullOrEmpty(text)) { text = value.GetType().Name; } return text; } }