Я хочу, чтобы свойство «Данные» динамически зависело от типа объекта. Я не хочу делать что-то вроде этого:
</p>
<pre><code> List<BaseBoxDTO> listBoxes = new List<BaseBoxDTO>();
BaseBoxDTO box = new BaseBoxDTO();
box.Title = "Title1";
box.Status = "Status1";
GeneralInfoBoxDTO GI = new GeneralInfoBoxDTO
{
value1 = "string1",
value2 = "string2"
};
box.Data = GI;
listBoxes.Add(box);
BaseBoxDTO box2 = new BaseBoxDTO();
box2.Title = "Title2";
box2.Status = "Status2";
TrainingBoxDTO traini = new TrainingBoxDTO
{
valorproperty1 = "string1",
valorproperty2 = "string2"
};
box2.Data = traini;
listBoxes.Add(box2);
Я думаю, что должен быть лучший способ, возможно, использовать что-то рекурсивное. У меня следующая структура
</p>
<pre><code>public class BaseBox
{
public string Title { get; set; }
public string Status { get; set; }
public object Data { get; set; }
}
public class ChildBox: BaseBox
{
public string value1 { get; set; }
public string value2 { get; set; }
}
public class ChildBox2: BaseBox
{
public string valueproperty { get; set; }
public string valueproperty2 { get; set; }
}