i've 2 classes called EventDto and EventWithObjectsDto. EventDto is the parent class and EventWithObjectsDto inherits from it.
These are the classes:
public class EventDto : BaseDto
{
public EventTypes Type { get; set; }
public string Title { get; set; }
public DateTime StartAt { get; set; }
public DateTime EndAt { get; set; }
public Guid? RecursiveCriteriaId { get; set; }
}
public class EventWithObjectsDto : EventDto
{
public List<ObjectDto> Objects { get; set; }
}
I want to cast EventDto to EventWithObjectsDto, so i've tryed 2 ways:
var eventWithObjects = (EventWithObjectsDto)ev; that throws InvalidCastException and var eventWithObjects = ev as EventWithObjectsDto that returns null.
The only way that works is to remove : EventDto from EventWithObjectsDto and use AutoMapper to map EventDto to EventWithObjectsDto but i don't want to use AutoMapper is exists another way.
Also, i've done a simple test:
var simpleEvent = new EventDto();
// Thrown InvalidCastException
var simpleEventWithObjects = (EventWithObjectsDto)simpleEvent;
Can someone help me?