という名前のクラス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);