我有一个名为 的类Permissions
,它有一些子类(和一些属性),Group
并且Group.Permission
.
现在,我可以执行以下操作
Permissions u = new Permissions();
u.userId = (Guid)user.ProviderUserKey;
List<int> groups = getGroupsForUserId(u.userId.ToString());
List<Permissions.Group> groupItems = new List<Permissions.Group>();
foreach (int g in groups)
{
Permissions.Group groupItem = new Permissions.Group();
groupItem.group_id = g;
groupItem.Records = getRecordsForGroupId(g);
groupItem.Permissions = getPermissionsForGroupId(g);
groupItems.Add(groupItem);
}
u.Groups = groupItems;
但是,我不能这样做:
Permissions u = new Permissions();
u.userId = (Guid)user.ProviderUserKey;
List<int> groups = getGroupsForUserId(u.userId.ToString());
foreach (int g in groups)
{
Permissions.Group groupItem = new Permissions.Group();
groupItem.group_id = g;
groupItem.Records = getRecordsForGroupId(g);
groupItem.Permissions = getPermissionsForGroupId(g);
u.Groups.Add(groupItem);
}
我的问题,为什么?
我创建了一个新Permissions.Group
对象,添加了值,然后将其添加到u
对象的Groups
. 在我看来,这应该可行,但是我认为我没有在课堂上连接一些东西?我的课程只是一个属性列表,property_name { get; set; }
所以真的没有什么异国情调。
尝试后者,我得到一个NullReferenceException
就行了u.Groups.Add(groupItem);