实例化嵌套类速记

  • 本文关键字:嵌套 实例化 c#
  • 更新时间 :
  • 英文 :


我正在尝试以这种格式填充对象列表,以便它与所需 API 的 JSON.NEt 输出相匹配。但是我在整个块上得到一个以 .添加()...我错过了什么吗?

foreach(var item in emailsToUpload.payload)
{
hubPayload.Add(new HubEmailItem()
{
email = item.Email, properties = 
{ new HubEmailTuple() { property = "date", value = (DateTime.Now).ToString("d") },
new HubEmailTuple() { property = "other property", value = "other value" }
}
});
}

更新:

public class HubEmailItem
{
public String email { get; set; }
public List<HubEmailTuple> properties { get; set; }
}

不能将此语法用于此类泛型列表。

properties = 
{ new HubEmailTuple() { property = "date", value = (DateTime.Now).ToString("d") },
new HubEmailTuple() { property = "other property", value = "other value" }
}

您应该添加一个new List<HubSpotEmailTuple>

properties =  new List<HubSpotEmailTuple>
{ new HubEmailTuple() { property = "date", value = (DateTime.Now).ToString("d") },
new HubEmailTuple() { property = "other property", value = "other value" }
}

注意:这是有效的:

int[] a = {0, 2, 4, 6, 8};

但这不是:

// wrong
List<int> a = {0, 2, 4, 6, 8};
// correct
List<int> a =  new List<int> {0, 2, 4, 6, 8};

查看文档:http://msdn.microsoft.com/en-us/library/aa664573(v=vs.71).aspx

在初始化 List 时,唯一可能引发此异常的是您要迭代的项目之一。您正在使用 Email 属性,似乎其中一个项目为 null 并导致异常。

email = item.Email //causes NullReferenceException when item is null

您可以通过在 foreach 循环的第一个大括号处设置条件断点来检查这是否确实为真,当item == null为 true 时将触发该断点。

相关内容

  • 没有找到相关文章

最新更新