1

恐怕我对 C# 有点陌生,所以我只是从他的文档中复制了一些代码。这是使用 MailChimp 亚马逊简单电子邮件服务 API

var api = new SesApi(yourMailChimpKey);
var result = api.SendEmail("Subject for test email",
     "<p>Body of HTML email</p>",
     "Body of plain text email",
     new EmailAddress("Sender name", "sender@nogginbox.co.uk"),
     new List { new EmailAddress("Recipient", "recipient@nogginbox.co.uk") },
     tags: new List { "test" } //Problems are on this line, and the one above it
);

问题是visual studio(我使用的是.net 4.5)似乎无法解决“new List {...}”部分

我错过了一个图书馆,还是有一种我错过的更新方法?

4

3 回答 3

2

问题是没有 type List。只有 generic List<T>,这很可能是文档要使用的。(非通用版本是ArrayList,但你真的不应该使用它。)

这意味着您需要在代码中指定列表的类型:

 new List<EmailAddress> { new EmailAddress(…) }
 new List<string> { "test" }

(这假设您using System.Collections.Generic;在代码文件的顶部有。)

假设 API 接受任何集合,更简单的解决方案可能是使用数组:

 new[] { new EmailAddress(…) }
 new[] { "test" }
于 2013-02-16T21:05:48.557 回答
1

请注意,“使用 System.Collections”与“使用 System.Collections.Generics”之间存在差异。后者要求您指定列表类型,例如“ new List<EmailAddress> { new EmailAddress ... }

于 2013-02-16T20:36:59.137 回答
0

我认为你有几个问题。

首先,using System.Collections.Generic;正如 Moshe 所指出的,您需要在文件顶部添加一个指令。

然后,尝试在列表声明后加上括号,如下例所示:

private void Form1_Load( object sender, EventArgs e )
{
    ListParam( new List<string>() { "Item 1", "Item 2" } );
}

private void ListParam( List<string> mylist )
{
    MessageBox.Show( "List count = " + mylist.Count );
}
于 2013-02-16T20:58:17.720 回答