の内側のReDim配列にしようとしたとき、私はここにこの行のクラスの配列をREDIMしようとしている:VB.NET "オブジェクト参照がオブジェクトのインスタンスに設定されていません。"配列
For i As Integer = 0 To RacerList(i).CompatibilityArr.Count - 1
For o As Integer = 0 To RacerList(i).CompatibilityArr.Count - 1
ReDim Preserve RacerList(i).CompatibilityArr(o).HeightCompArr(AmountOfRacers - 1)
Next
Next
コード結果のREDIMラインをオブジェクト参照」でオブジェクトのインスタンスに設定されていません"
のコード行の上、私が持っている:。
For i As Integer = 0 To RacerList.Count - 1
ReDim Preserve RacerList(i).CompatibilityArr(AmountOfRacers - 1)
Next
完全に正常に動作しますので、私は、私は "HeightCompArrを書くときにエラーが、また(HeightCompArrであることをかなり確信してどの
Public RacerList As New List(Of Racer)
<Serializable()> Public Class Racer
Public Property Name As String
Public Property CleatSize As String
Public Property SkillLevel As String
Public Property Height As String
Public Property Team As String
Public CompatibilityArr() As Compatibility
End Class
<Serializable()> Public Class Compatibility
Public HeightCompArr() As HeightComp
End Class
<Serializable()> Public Class HeightComp
Public Name As String
Public Score As Integer
End Class
:「それは以下
は、別のモジュールのフォーム上にあるクラス/構造/配列の全てである)ドロップダウンメニューでその中の子どもを示唆していません
これは配列の中に配列が含まれているかどうかに問題があるかどうかはわかりません。私はどんなアドバイスにも大変感謝しています。
可能な重複:
私は次のようにあなたの代わりに配列し、再構築の
List(Of ...)
を使用することをお勧めしたいです/stackoverflow.com/questions/39432460/visual-basic-redim-preserve-object-reference-not-set-to-an-instance-of-an-ob) –私は他のソリューションを実装することはできません私の問題のために働く質問 - これは不正確な実装のためか解決策が当てはまらない、確信が持てない –
Kenの答えが正しい可能性が高いです。 "CompatibilityArr"のサイズを設定しましたが、その中に "Compatibility"のインスタンスは含まれていません。したがって、内部の "HeightCompArr"にアクセスしようとするとエラーが発生します。 'CompatibilityArr 'の各インデックスをループしてインスタンスを割り当てる必要があります:' CompatibilityArr(i)=新しい互換性() ' –