ADUser から継承する ADUser と Student の 2 つのクラスを使用して、Active Directory のグループにユーザーを追加するアプリケーションに取り組んでいます。
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
継承についての私の理解では、 Student オブジェクトの作成時に MemberOf リストを作成する必要がありますが、そうではないようです。
任意の支援をいただければ幸いです。
編集:関数を変更して(文字列の)リストを作成し、これを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
それは機能しますが、それを行うためのより良い方法があると確信しています。他の方の回答・ご意見をお待ちしております!