У меня есть 2 класса. Роль пользователя и как этотVB.NET Свойства моего класса попадают в круглые ссылки и, таким образом, исключение StackOverflow
Роль
Public Class Role
Public Property RoleID As Integer
Public Property CreatedBy As User
Sub New()
If Me.CreatedBy Is Nothing Then
Me.CreatedBy = New User()
End If
End Class
Пользователь
Public Class User
Public Property UserID As Integer
Public Property Role As Role
Public Sub New()
If Me.Role Is Nothing Then
Me.Role = New Role()
End If
End Sub
End Class
Ситуация похожа, когда мы создаем роли, мы сэкономим, кто создал эту роль. Поэтому у меня есть свойство CreateBy типа User. Аналогично, когда мы создаем пользователя, мы укажем, какую роль принадлежит новому пользователю. Так что у меня есть свойство «Роль» типа «Роль». Эта круговая ссылка дает мне исключение StackOverflow как рекурсивное, когда я создаю объект класса User.
Как я могу справиться с этим? Должен ли я возместить свои претензии? как ?
'Me.CreatedBy Is Nothing'? Может ли это быть чем-то иным, чем «Nothing» в конструкторе? –