2
我正在開發一個應用程序,用於將用戶添加到Active Directory中的組中,並使用兩個類:ADUser和Student,它們繼承自ADUser。NullReferenceException添加到父類中的列表
public class ADUser
property UserID as string
property MemberOf as new List(Of String)
(etc)
end class
public class Student inherits ADUser
property subjects as new list(Of Subject) 'Subject is a class of multiple strings
end class
我試圖主題名稱從列表對象複製到的memberOf名單,這將導致一個NullReferenceException(不設置到對象的實例對象引用)。下面的代碼在me.MemberOf.Add線產生一個錯誤:
Function ConvertSubjectsToGroupMembership() As Boolean
Try
For Each s As Subject In Subjects
Me.MemberOf.Add(String.Format("t.{0}", s.ShortName).ToString)
Next
Return True
Catch ex As Exception
Return False
End Try
End Function
我的產業的理解是,應創建的memberOf列表中創建Student對象的時候,但是這似乎並沒有這樣的情況。
任何幫助表示讚賞。
編輯: 我設法通過修改函數來創建一個列表(字符串),然後將其複製到的memberOf屬性來解決此問題:
Function ConvertSubjectsToGroupMembership() As Boolean
Dim SubjectShortNameList As New List(Of String)
For Each s As Subject In Subjects
SubjectShortNameList.Add(String.Format("t.{0}", s.ShortName).ToString)
Next
Try
MemberOf = SubjectShortNameList
Return True
Catch ex As Exception
Return False
End Try
End Function
它的工作原理,但我當然有更好的方法來做到這一點。我期待閱讀別人的答案/意見!
這就是發生了什麼事。當我瀏覽代碼時,我想起已經建立了一個構造函數,它將'MemberOf'屬性設置爲空,導致列表被清空。感謝您指點我正確的方向。 –