다음 문제가 발생합니다. 생성자가있는 클래스가 있습니다 (New(<args>)
메서드). 또한이 클래스의 객체 인 List
을 채우고 싶습니다. 또한VB.NET에서 인스턴스로 간주 될 수있는 개체 : 개체 참조가 개체 인스턴스로 설정되지 않았습니다.
Class Thing
Public PositionX, PositionY As UInteger
Public Name As String
Public Sub New(ByVal name As String, _
ByVal positionX As UInteger, _
ByVal positionY As UInteger)
Me.PositionX = positionX
Me.PositionY = positionY
Me.Name = name
End Sub
End Class
, 다른 코드에서 내가 Thing
의 목록을 선언하고 있습니다 : 예를 제공하기 위해, 여기에 몇 가지 장난감 코드 (피 속성과 같은)의
Dim things As List(Of Thing)
를 실행하려고 다음 코드 줄인 things.Add(New Thing("some name', 1, 1))
을 입력하면 Object reference not set to an instance of an object
예외가 발생합니다. 분명히, 나는 객체의 인스턴스가 실제로 무엇인지 오해하고 VB.NET이 어떻게 그것들에 대해 작업하는지에 대해 오해하고있다. 내 C/C++ 배경으로 돌아 간다.
나는
New
생성자와 변수를 초기화 할 수 물론 , 그리고
다음 목록에 추가 :
을 다음 중 하나가 작동하지 않습니다
Dim myThing = New Thing("some name", 1, 1)
things.Add(myThing)
내 질문을 정확히 New Thing("some name', 1, 1)
이 인스턴스를 만들지 않는다는 것입니다.은 Thing
입니다. 그런 것들을 생각하는 올바른 방법은 무엇일까요? 내가 잘못한 일은 뭐니?
건배!
OMG를! 나는 지금 아주 어리 석다. =) 고마워! (필요한 10 분 후에 답변을 수락 할 것입니다) – Phonon
걱정 마세요 & thx –