Мне нужно преобразовать этот DTOC# добавить массив объектов в ICollection - конвертировать DTO -> модель
public class MyDTO
{
[JsonProperty("studentInfo")]
public StudentInfo studentInfo {get; set; }
public class StudentInfo
{
[JsonProperty("others")]
public ICollection<AnotherDTO[]> Others { get; set; }
}
public class AnotherDTO
{
[JsonProperty("name")]
public string name { get; set; }
}
}
этой модели
public class MyModel
{
public StudentInfo studentInfo {get; set; }
public class StudentInfo
{
public ICollection<Another[]> Others { get; set; }
}
public class Another
{
public string name { get; set; }
}
}
Я получаю повесился на ICollection. Вот немного, где я пытаюсь заполнить ICollection Others.
private static ICollection<MyModel.Another[]> getAnothers(MyDTO myDTO, MyModel myModel)
{
List<MyModel.Another> myList = new List<MyModel.Another>();
foreach(var x in myDTO.studentInfo.Others)
{
foreach(var y in x)
{
myList.Add(new MyModel.Another
{
name = y.name
});
}
}
}
MyModel.Another[] newList;
newList = myList.ToArray();
ICollection<MyDTO.AnotherDTO[]> ic = (ICollection<MyModel.Another[]>newList.Cast<MyModel.Another[]>().ToList();
Эта последняя строка дает мне следующее сообщение об ошибке:
Невозможно бросить объект типа MyModel к типу MyModel [].
Буду признателен за любую помощь.
Другие - это 'ICollection' (т. Е. Список массивов) Является ли это хорошим дизайнерским решением, это другой вопрос, но для кода в его нынешнем виде он абсолютно нуждается во втором foreach. –