Не удается неявно преобразовать тип «System.Collections.Generic.List <Object>» в «строку» - PullRequest
0 голосов
/ 09 мая 2019

Я обнаружил ошибку вокруг моей переменной addresslist.

Cannot implicitly convert type 'System.Collections.Generic.List<Object>' to 'string'

Я пытался заполнить мою модель с вложенным List<Object> данными из файла CSV, но я столкнулся с этой ошибкой.

Вот код, в котором я пытался заполнить свой вложенный List<Object>

public class FundTransferMap : ClassMap<FundTransfer>
    {
        public FundTransferMap()
        {
            Map(m => m.senderRefId);
            Map(m => m.sender).ConvertUsing(row =>
            {
                var senderlist = new List<Sender>
            {
                new Sender { name = row.GetField("senderName"),
                    address = Map(m => m.sender).ConvertUsing(row1 =>
                    {
                      var addresslist = new List<Address>
                    {
                            new Address { line1 = row1.GetField("senderAddrLine1"),
                            line2 = row1.GetField("senderAddrLine2"),
                            city = row1.GetField("senderCity"),
                            province = row1.GetField("senderProvince") }
                    };
                        return addresslist;
                    })
                },
            };
                return senderlist;
            });


        }
    }

Вот мои модели

public class FundTransfer
    {
        public String senderRefId { get; set; }
        public List<Sender> sender { get; set; }
    }


public class Sender
    {
        public String name { get; set; }

        public List<Address> address { get; set; }

    }

 public class Address
    {
        public String line1 { get; set; }

        public String line2 { get; set; }

        public String city { get; set; }

        public String province { get; set; }
    }

1 Ответ

1 голос
/ 10 мая 2019

Вам нужно использовать ConvertUsing только один раз.

public class FundTransferMap : ClassMap<FundTransfer>
{
    public FundTransferMap()
    {
        Map(m => m.senderRefId);
        Map(m => m.sender).ConvertUsing(row =>
        {
            var senderlist = new List<Sender>
            {
                new Sender { name = row.GetField("senderName"),
                    address =  new List<Address>
                    {
                        new Address { line1 = row.GetField("senderAddrLine1"),
                        line2 = row.GetField("senderAddrLine2"),
                        city = row.GetField("senderCity"),
                        province = row.GetField("senderProvince") }
                    } 
                },
            };
            return senderlist;
        });
    }
}
...