如何覆盖属性而不在Base属性中标记为Partial,abstract或extern?

时间:2015-12-21 11:44:22

标签: c# class inheritance properties overrides

我在远程服务器中拥有一个名为HasChar的{​​{1}}类型的属性。我需要在Derived类中重新定义它并进行一些修改。但基本属性未标记为BoolPartialabstract。但我需要重新定义,我该如何实现?在派生类中,我需要访问派生类中的基类extern属性,如果值为HasChar,那么我必须将False设为BlogText }

  

注意:基类位于远程服务器中,我无法更改或   启动变更。基类属性未标记为   String.EmptyPartialabstract。不要创造任何额外的财产来实现这一目标。请提供与Override或类似相关的解决方案。

我的基础课程

extern

我的派生类:粗略代码

public class BlogBase
{
    private string _blogText = string.Empty;
    public string BlogText 
    { 
        get { return _blogText; }; 
        set 
        {
            _blogText = value;
            HasChar = _blogText.Length >0 ? true : false;
        } 
    }

    public bool HasChar { get; set; }

}

1 个答案:

答案 0 :(得分:3)

使用new关键字隐藏原始媒体资源。

public new bool HasChar
{
    private bool _hasChar;
    get { return _hasChar; }
    set
    {
         // do other stuff
         _hasChar = value;
    }
}