要添加其他人所说的话, 基础 。 当您用 overs 或新关键字从基准类中跳过某些内容时, 使用基数, 您需要使用基数访问原始方法 。
class a
{
public virtual void method1()
{
}
public string property1 { get; set; }
}
class b : a
{
// this has it s own instance in b, the only way to get to
// the original property1 is with base (or reflection)
public new string property1 { get; set; }
public override void method1()
{
// the only way to get to the original method1 and property1
base.method1();
base.property1 = "string";
}
}
在您的例子中, 如果 DataContext 属性使用这些关键字中的任何一个, 则以该关键字为基础, 而这根本不意味着同样的事情 。