【发布时间】:2012-01-22 11:50:14
【问题描述】:
该博客包含以下代码示例:
public class Dinner
{
public int DinnerID { get; set; }
public string Title { get; set; }
public DateTime EventDate { get; set; }
public string Address { get; set; }
public string HostedBy { get; set; }
public virtual ICollection<RSVP> RSVPs { get; set; }
}
public class RSVP
{
public int RsvpID { get; set; }
public int DinnerID { get; set; }
public string AttendeeEmail { get; set; }
public virtual Dinner Dinner { get; set; }
}
在类中定义属性时使用virtual 的目的是什么?有什么作用?
【问题讨论】:
-
您是想了解 C# 中“虚拟”关键字的一般用途,还是它与实体框架的具体关系?
-
@M.Babcock:我问的是与属性有关的目的是什么,因为我以前从未见过。
-
如果您熟悉 virtual 关键字如何影响方法中的多态性,那么属性也是如此。
-
@M.Babcock:我怎样才能让它更明显?问题的标题是“为什么对类中的属性使用'虚拟'?”。
-
@Gary - getter / setter 属性实际上被静态编译成方法。所以它们不是“公共虚拟晚餐”等传统的类字段;
标签: c# class properties virtual