无法从继承的类重写虚拟属性

时间:2017-07-13 15:45:16

标签: c# .net inheritance

我的自定义Sitecore控件继承自Sitecore.Web.UI.HtmlControls.Control。此类定义属性值如下:

public virtual string Value {
    get {
        return this.GetViewStateString("Value");
    }
    set {
        if (!(value != this.Value))
            return;
        this.SetViewStateString("Value", value);
    }
}

我的自定义类定义如下:

public class ClientProfileSelector : Sitecore.Web.UI.HtmlControls.Control, IContentField {
    ...

    public override string Value {
        get {
            return this.MyOwnValue;
        }
        set {
            if (!(value != this.MyOwnValue))
                return;
            this.MyOwnValue = value;
        }
    }

    ...
}

整个班级的代码可用here

我的类由Sitecore自动实例化,但我知道它正在运行,因为我可以进入其中定义的其他方法。例如,我的自定义类中的方法GetValue()调用字段Value,如下所示:

public string GetValue() {
    return string.IsNullOrEmpty(CalculatedValue) ? CalculatedValue : Value;
}

但是当我在我的定义和基类'one中添加断点之后我跳过它时,执行在基类中停止。

我做错了什么?

0 个答案:

没有答案