このような匿名リストを宣言しました。連絡先のリストも含まれています
var ContactGroup = new[] { new { ContactGroupKey = 0, ContactGroupTLK = 0, Desc = "", Contacts=new List<object>() } }.ToList();
ContactGroupKey が存在する場合はリストを確認してから、連絡先 (リストとして定義されている) のみを更新し、それ以外の場合は新しい連絡先グループを挿入します。しかし、匿名リスト内に新しい連絡先グループを追加しようとすると、「'System.Collections.Generic.List.Add(AnonymousType#2)' に一致する最適なオーバーロードされたメソッドには無効な引数があります」というエラーがスローされます。初めてリストします。このシナリオではクラスを避けようとしました。どこで間違いを犯したか教えてもらえますか?
while()
{
var Contact= new {
ContactKey = Convert.ToInt64(DB["ContactKey", "0"]),
FirstName = DB["FirstName", ""].ToString(),
Surname = DB["Surname", ""].ToString(),
FullName = DB["Fullname", ""].ToString(),
Street = DB["bStreet", ""].ToString(),
City = DB["bCity", ""].ToString(),
};
foreach (var item in ContactGroup)
{
if (item.ContactGroupKey == Contact.ClaimContactGroupKey)
{
item.Contacts.Add(Contact);
added = true;
}
}
if(!added){
ContactGroup.Add(new {
ContactGroupKey = Convert.ToInt64(DB["ContactGroupKey", "0"]),
ContactGroupTLK = Convert.ToInt64(DB["TranslationKey", "0"]),
Desc = DB["Description", ""].ToString(),
Contacts=GenerateList(Contact)
});
}
}// End While
public static List<T> GenerateList<T>(T itemOftype)
{
List<T> newList = new List<T>();
return newList;
}