Размещение списка внутри списка другого типа Generics в C# - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть метод в классе C#, который устанавливает значения DTOS для JSON. Мне нужно разместить список типа JiraContent1 с его собственными значениями внутри списка типа JiraContent. Я получаю сообщение об ошибке «Невозможно неявно преобразовать тип« void »в« System.Collections.Generi c .List ». Каким образом я могу разместить один список внутри другого, не получая сообщение об ошибке?

    public void MakeRequest(string _summary, string _description, Boolean _isurgent)
    {
        var jiraRequest = new JiraRequest
        {
            Fields = new JiraFields
            {
                Summary = _summary,
                Issuetype = new JiraIssuetype
                {
                    Name = "Support-Request"
                },
                Project = new JiraProject
                {
                    Key = "NAV"
                },
                Description = new JiraDescription
                {
                    Type = "doc",
                    Version = 1,
                    Content = new List<JiraContent>().Add(new JiraContent
                    {
                        Type = "paragraph",
                        Content = new List<JiraContent1>().Add(new JiraContent1
                        {
                            Text = _description,
                            Type = "text"
                        })
                    })

                }
            }
        };

        string myJson = JsonConvert.SerializeObject(jiraRequest);
    }

Содержимое DTOS

public class JiraRequest
{
    public JiraFields Fields { get; set; }
}

public class JiraFields
{
    public string Summary { get; set; }
    public JiraIssuetype Issuetype { get; set; }
    public JiraProject Project { get; set; }
    public JiraDescription Description { get; set; }
}

public class JiraIssuetype
{
    public string Name { get; set; }
}

public class JiraProject
{
    public string Key { get; set; }
}

public class JiraDescription
{
    public string Type { get; set; }
    public int Version { get; set; }
    public List<JiraContent> Content { get; set; }
}

public class JiraContent
{
    public string Type { get; set; }
    public List<JiraContent1> Content { get; set; }
}

public class JiraContent1
{
    public string Text { get; set; }
    public string Type { get; set; }
}
}

Ответы [ 2 ]

1 голос
/ 10 февраля 2020

Глядя на это:

Content = new List<JiraContent>().Add(new JiraContent
                {
                    Type = "paragraph",
                    Content = new List<JiraContent1>().Add(new JiraContent1
                    {
                        Text = _description,
                        Type = "text"
                    })
                })

Разбейте эти выражения, и код пытается присвоить результат вызова .Add(), который не имеет возвращаемого значения. Вы можете попробовать инициализировать коллекцию insted:

Content = new List<JiraContent> {
                new JiraContent
                {
                    Type = "paragraph",
                    Content = new List<JiraContent1> {
                        new JiraContent1
                        {
                            Text = _description,
                            Type = "text"
                        }
                    }
                }
            }
0 голосов
/ 10 февраля 2020

Попробуйте:

Content = new List<JiraContent1>
        {
            new JiraContent1{
                Text = _description,
                Type = "text"
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...