Получение ошибки при выдаче списка ошибок? - PullRequest
0 голосов
/ 12 апреля 2011

В моем проекте я выкидывал список сообщений об ошибках

как это

 List<string> errorMessageList = errors[0].Split(new char[] { ',' }).ToList();

 throw new WorkflowException(errorMessageList);

и мой класс WorkflowException выглядит следующим образом

/// <summary>
/// WorkFlowException class
/// </summary>
public class WorkFlowException : Exception
{
    /// <summary>
    /// Initializes a new instance of the WorkFlowException class
    /// </summary>
    /// <param name="message">Error Message</param>
    public WorkFlowException(List<string> message)
    {
        base.Message = message;
    }
}

но получаю ошибки при назначении этого списка сообщений базе. Кто-нибудь может мне помочь сделать это?

Ответы [ 3 ]

2 голосов
/ 12 апреля 2011

Exception.Message - это string, а не List<string>, и это только для чтения, поэтому вы должны передать string в базовый класс через цепочку конструктора:

public class WorkFlowException : Exception
{
    public WorkFlowException(List<string> messages)
    : base(messages != null && messages.Count > 0 ? messages[0] : "")
    { 
      //...
    }
}

Кроме того, вы можете переопределить свойство Message:

public class WorkFlowException : Exception
{
    List<string> messages;

    public WorkFlowException(List<string> messages)
    { 
      this.messages = messages
    }

    public override string Message
    {
      get { return messages != null && messages.Count > 0 ? messages[0] : "" }
    }
}
1 голос
/ 12 апреля 2011

Exception.Message - строка. Вы пытаетесь присвоить List<string> свойству string. Несоответствие типов .. Попробуйте отформатировать список строк в одну строку перед назначением.

Обновлено (спасибо Марк)
public WorkflowException(List<string> listOfMessages) : base(String.Join(",", listOfMessages.ToArray());

0 голосов
/ 12 апреля 2011

Exception.Message является строкой. не List<string>

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