我担心我对C#有点新,所以我只是从他的文档中复制了一些代码。这是使用MailChimp Amazon Simple Email Service 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 {...}”所在的部分
我错过了一个图书馆,还是有一种新方法可以做到这一点我错过了?
答案 0 :(得分:2)
问题是没有类型List
。只有通用List<T>
,这很可能是文档要使用的内容。 (非通用版本是ArrayList
,但你真的不应该使用它。)
这意味着您需要在代码中指定列表的类型:
new List<EmailAddress> { new EmailAddress(…) }
new List<string> { "test" }
(假设您的代码文件顶部有using System.Collections.Generic;
。)
假设API接受任何集合,更简单的解决方案可能是使用数组:
new[] { new EmailAddress(…) }
new[] { "test" }
答案 1 :(得分:1)
请注意,“使用System.Collections”与“使用System.Collections.Generics”之间存在差异。后者要求您指定列表类型,例如“new List<EmailAddress> { new EmailAddress ... }
”
答案 2 :(得分: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 );
}