【发布时间】:2014-03-13 19:19:13
【问题描述】:
我无法从基类对象名称访问派生类属性。
我的动机是我需要消除类中重复的属性,并且需要使用基类名称创建对象。
public abstract class Request
{
public int RequestId { get; set; }
public string Reason { get; set; }
public bool IsApproved { get; set; }
public bool IsRejected { get; set; }
public Employee Employee { get; set; }
}
public class Permission : Request
{
public DateTime FromTime { get; set; }
public DateTime ToTime { get; set; }
public PermissionType PermissionType { get; set; }
}
public class Leave: Request
{
public DateTime FromDate { get; set; }
public DateTime ToDate { get; set; }
public LeaveType LeaveType { get; set; }
}
class Program
{
static void Main(string[] args)
{
Request req = new Permission();
req.Reason = 1;
req.Reason = "232";
req.FromTime = DateTime.Now; // Here i'm getting error as 'Request does not contain definition'
req.ToTime = DateTime.Now.AddHours(1); // Here i'm getting error as 'Request does not contain definition'
}
}
【问题讨论】:
标签: c# object inheritance polymorphism polymorphic-associations