Для VB.NET нужно свойство класса, чтобы быть массивом списка

Как насчет setSeparatorColor к цвету фона Вашей ячейки?

6
задан NinjaBomb 14 October 2009 в 05:02
поделиться

2 ответа

Вы не создали экземпляр списка, в который вы пытаетесь поместить элементы.

Инициализируйте его в конструкторе вашего класса аксессуаров. Что-то вроде

Public Sub New()
    _items = New List(Of Item)
End Sub
13
ответ дан 8 December 2019 в 16:05
поделиться

У вас есть 2 варианта, чтобы избежать исключения NullReferenceException:

1) Упомянутый подход Elder_george, где вы инициализируете свойство новым экземпляром класса:

Dim ReturnItem As New MasterItem
ReturnItem.PrimaryItem = New Item()
' or check for null then initialize (optional, depends on your needs)
If ReturnItem.PrimaryItem Is Nothing Then ReturnItem.PrimaryItem = New Item()

Проблема с этим подходом если вы не инициализируете его где-то, что, как вы знаете, всегда можно будет использовать позже, вам придется выполнить ту же проверку и / или инициализировать. Это «где-то» может быть при загрузке формы или подобном.

2) Инициализировать переменную резервного хранилища свойства. Сделайте это один раз, и вам не нужно постоянно проверять значение null. Обратите внимание на изменение в объявлении _item ниже:

Public Class MasterItem
    Private _item as Item = New Item()
    Public Property PrimaryItem as Item
        Get
            Return _item
        End Get
        Set(ByVal value As Item)
            _item = value
        End Set
    End Property
End Class

С указанным выше вы получите доступ к нему напрямую как:

Dim ReturnItem As New MasterItem
ReturnItem.PrimaryItem.ItemNo = "TEST123"
1
ответ дан 8 December 2019 в 16:05
поделиться