Unable to cast object of type parent to child
Bonjour,
Je cherche à changer le type d'un parent en type enfant.
Voici la tentative la plus explicite je pense.
Class parent
Code:
1 2 3 4 5 6 7 8
|
public class ParentClass
{
public int Id { get; set; }
public ParentClassDto ToDto() => new() { Id = Id };
}
public class ParentClassDto { public int Id { get; set; } } |
Class enfant
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| public class ChildClass : ParentClass
{
public string name { get; set; }
public new ChildDto ToDto()
{
var element = (ChildDto)base.ToDto();
// element.name = name;
return element;
}
}
public class ChildClassDto: ParentClassDto { public string name { get; set; } } |
J'ai suivi le fait que pour faire cela il fallait que l'objet soit créé de type enfant avant d'être interprété en temps que parent.
Code:
1 2
| Parent p = new Child();
Child c = (Child)p; |
Seulement ici, je ne sais pas le créer de type enfant étant donné que c'est le parent directement qui crée l'objet
une idée de comment je pourrais mettre cela en place?
Merci d'avance