2016-07-12 1 views
-1

私は初心者ですが、何か簡単なものがありません。私は、オブジェクトに値を宣言し、割り当てたいが、私はのparam内の項目に値を割り当てるしようとすると、エラー「オブジェクト参照がオブジェクトのインスタンスに設定されていない」得続ける二つのクラスオブジェクトとそのネストされたオブジェクトに値を割り当てる

Public Class Param 
    Public Property temperature As String 
    Public Property display As Boolean 
    Public Property storage As Boolean 
    Public Property reason As Boolean 
    Public Property stats As Object 
    Public Property errors As Object 
End Class 

Public Class getTemperature 
    Public Property method As String 
    Public Property params As Param() 
    Public Property id As String 
End Class 

を持っています。私は理解していない、私はオブジェクトGetTemperatureとオブジェクトParamsの両方を作成しました、何が欠けていますか?

Dim GetTemp As New getTemperature  
    GetTemp.method = TextBoxMethod.Text 
    GetTemp.id = TextBoxID.Text  
    GetTemp.params(0).temperature = "True" 
+0

私は – rick9rick

+0

は、コンストラクタを追加しましたが、私はまだ同じ結果を得ることを理解していません。 – rick9rick

+0

[** NullReferenceExceptionとは何かと重複していますが、どうすれば解決できますか?**](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i -fix-it) – Codexer

答えて

0

これを試してみてください:

Public Class Param 
    Public Property temperature As String 
    Public Property display As Boolean 
    Public Property storage As Boolean 
    Public Property reason As Boolean 
    Public Property stats As Object 
    Public Property errors As Object 
End Class 

Public Class getTemperature 
    Public Property method As String 
    Public Property params As List(Of Param) 
    Public Property id As String 

    Public Sub New() 
     params = New List(Of Param) 
    End Sub 
End Class 

だからあなたのような何かを書くことができます:

 Dim a As New getTemperature 
     a.params.Add(New Param) 
+0

これはうまくいった。どうもありがとうございました – rick9rick

0

それは私も試してみましたが、同じ応答を取得

Dim GetTemp As New getTemperature  
    GetTemp.method = TextBoxMethod.Text 
    GetTemp.id = TextBoxID.Text 
    Dim params As New Param 
    params.temperature = "true" 
    'GetTemp.params(0) = params 

かっこを削除すると機能します

Public Class getTemperature 
    Public Property method As String 
    Public Property params As Param 
    Public Property id As String 
End Class 

、その後

Dim GetTemp As New getTemperature  
GetTemp.method = TextBoxMethod.Text 
GetTemp.id = TextBoxID.Text 
Dim params As New Param 
params.temperature = "true" 
GetTemp.params = params 
関連する問題