我知道这个问题听起来很简单,但实际上却很棘手。
我们有一个页面(CoursePage)在运行时设置其属性之前首先克隆。
PageData clone = existingCoursePage.CreateWritableClone();
coursePage = (CoursePage)clone;
// set properties....
// RelevantCourseInformationCollection is a LinkItemCollection
coursePage.RelevantCourseInformationCollection.Add(new LinkItem { Href = "google.com", Text = "Google" });
我得到一个null LinkItemCollection。
答案 0 :(得分:3)
您的现有页面似乎当前在RelevantCourseInformationColletion中没有任何项目。如果是这种情况,该属性将为null,您必须在尝试添加任何LinkItem之前为其分配新的LinkItemCollection实例。
coursePage.RelevantCourseInformationCollection = new LinkItemCollection();
coursePage.RelevantCourseInformationCollection.Add(new LinkItem { Href = "google.com", Text = "Google" });
或者如果您更喜欢速记:
coursePage.RelevantCourseInformationCollection = new LinkItemColletion { { new LinkItem { Href = "google.com", Text = "Google" } } };