Автоматически реализованное свойство приводит к нулевой ссылке, а полное записанное свойство - нет - PullRequest
0 голосов
/ 24 января 2019

Может кто-нибудь сказать мне, почему выполнение этого

Module Module1
    Sub Main()
        Dim currentSourceData As New SourceData
        currentSourceData.datafiles.Add("234")
    End Sub
End Module

дает мне

System.NullReferenceException: 'Ссылка на объект не установлена ​​на экземпляр объекта.'

Когда я использую автоматически реализованные свойства

Public Class SourceData
    Public Property datafiles() As List(Of String)
End Class

Но это не так, когда я использую свойство полностью написано:

Public Class SourceData
    Private _datafiles As New List(Of String)
    Public Property datafiles() As List(Of String)
        Get 
           Return _datafiles
        End Get
        Set(value As List(Of String))
            _datafiles = value
        End Set
    End Property
End Class

1 Ответ

0 голосов
/ 24 января 2019

Оператор New здесь отсутствует:

Public Class SourceData
    Public Property datafiles() As List(Of String)
End Class
...