C # строка в список - PullRequest
       4

C # строка в список

0 голосов
/ 29 октября 2011

Я действительно новичок в C # и пытаюсь устранить неполадки при тестировании некоторого кода, который использует Amazon SES для отправки электронной почты.

    [TestMethod()]
    public void SendEmailTest()
    {
        SESEmailProvider target = new SESEmailProvider();

        string ToEmailAddresses = "someone@gmail.com";
        string FromEmailAddress = "no-reply@mydomain.com";
        string Subject = "Test";
        string EmailBody = "Hello world.";
        string expected = string.Empty;
        string actual;
        actual = target.SendEmail(ToEmailAddresses, FromEmailAddress, Subject, EmailBody);
        Assert.AreEqual(expected, actual);
        Assert.Inconclusive("Verify the correctness of this test method.");
    }

Сообщение об ошибке в Visual Studio:

string SESEmailProvider.SendEmail(
 System.Collections.Generic.List<string> ToEmailAddresses,
 string FromEmailAddress, string Subject, string EmailBody)

Error:

 The best overloaded method match for 'MyServices.SESEmailProvider.SendEmail(
   System.Collections.Generic.List<string>, string, string, string)'
  has some invalid arguements.

Я думаю, проблема в том, что он ожидает, что ToEmailAddresses будет списком, а не одной строкой, но я изо всех силчтобы найти способ преобразовать / обработать это.

Спасибо!

Ответы [ 3 ]

4 голосов
/ 29 октября 2011

хорошо, вы определили переменную ToEmailAddresses как строку, но вы хотите, чтобы она была списком.

Есть много способов определить и заполнить список, но самый компактный это:

var toEmailAddresses = new List<string> { "someone@gmail.com" }

вышеизложенное создает новый список и инициализирует его одной строкой "somebody@gmail.com"

2 голосов
/ 29 октября 2011

SendMail ожидает, что список является первым аргументом, а не строкой.

Итак, выполните:

List<String> toAddresses = new List<String>();
toAddresses.Add("someone@mail.com");

передайте в качестве первого аргумента аргументы

Ключ былв сообщении об ошибке.Ожидается список, строка, строка, строка

Наилучший перегруженный метод соответствует 'MyServices.SESEmailProvider.SendEmail (
System.Collections.Generic.List, string, string, string)' *У 1012 * есть несколько неверных аргументов.

1 голос
/ 29 октября 2011
[TestMethod()] 
public void SendEmailTest() 
{ 
    SESEmailProvider target = new SESEmailProvider(); 

    List<string> ToEmailAddresses = new List<string>() {"someone@gmail.com"}; 
    string FromEmailAddress = "no-reply@mydomain.com"; 
    string Subject = "Test"; 
    string EmailBody = "Hello world."; 
    string expected = string.Empty; 
    string actual; 
    actual = target.SendEmail(ToEmailAddresses, FromEmailAddress, Subject, EmailBody); 
    Assert.AreEqual(expected, actual); 
    Assert.Inconclusive("Verify the correctness of this test method."); 
} 

Попробуйте это.Я изменил вашу переменную с string на List<string>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...