Почему нет? t наиболее конкретный метод, вызываемый на основе типа параметра

Общее количество вопросов о новичках здесь. У меня есть эти два метода в классе

private void StoreSessionSpecific(LateSession dbSession, SessionViewModel session)
{
    session.LateSessionViewModel.Guidelines = dbSession.Guidelines.ToList();
}

private void StoreSessionSpecific(Session dbSession, SessionViewModel session )
{
        // nothing to do yet...
}

И когда я вызываю StoreSessionSpecific с dbSession, имеющим тип LateSession (LateSession наследует Session)

var dbSession = new LateSession();
StoreSessionSpecific(dbSession, session);

, я ожидал, что будет вызван верхний из них. Поскольку dbSession имеет тип LateSession.

@Paolo Tedesco Так определяются классы.

public class Session
{
    public int ID { get; set; }
    public int SessionTypeId { get; set; }
    public virtual SessionType SessionType { get; set; }
    [Required]
    public DateTime StartTime { get; set; }
    [Required]
    public DateTime EndTime { get; set; }
    // Session duration in minutes
    // public int SessionDuration { get; set; }
    public virtual ICollection<Attendee> Attendees { get; set; }

}

public class LateSession : Session
{


    public int MaxCriticalIncidentsPerUser { get; set; }
    public int MaxResultCriticalIncidents { get; set; }

    public virtual ICollection<Guideline> Guidelines { get; set; }


}
9
задан Saab 13 May 2011 в 14:20
поделиться