我只使用和学习了基类的虚拟方法,却不了解用作虚拟属性的任何知识。

class A
{
   public virtual ICollection<B> prop{get;set;}
}

有人可以告诉我这是什么意思吗?

最佳答案

public virtual ICollection<B> Prop { get; set; }

几乎直接翻译成:
private ICollection<B> m_Prop;

public virtual ICollection<B> get_Prop()
{
    return m_Prop;
}

public virtual void set_Prop(ICollection<B> value)
{
    m_Prop = value;
}

因此,就像上面的get/set方法一样,virtual关键字使您可以覆盖子类中的属性:
public override ICollection<B> Prop
{
    get { return null; }
    set { }
}

关于c# - 虚拟属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9238795/

10-12 18:06