如何在基本属性中不标记“部分”、“抽象”或“外部”等属性
本文关键字:属性 部分 抽象 外部 | 更新日期: 2023-09-27 18:27:38
我在远程服务器中有一个名为 HasChar
的属性,类型为 Bool
。我需要在我的派生类中重新定义它并进行一些修改。但是基本属性没有标记为Partial
、abstract
或extern
。但我需要重新定义,我怎样才能实现?在派生类中,我需要访问派生类中基类的HasChar
属性,如果值为 False
,那么我必须将BlogText
设为String.Empty
注意:基类位于远程服务器中,我无法更改它或 启动更改。基类属性未标记为
Partial
、abstract
或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; }
}
我的派生类:粗略代码
public class BlogChild : BlogBase
{
private bool _hasChar = false;
public bool HasChar
{
get { return _hasChar; };
set
{
_hasChar = value;
if(!_hasChar)
BlogText = string.Empty;
}
}
}
使用 new
关键字隐藏原始属性。
public new bool HasChar
{
private bool _hasChar;
get { return _hasChar; }
set
{
// do other stuff
_hasChar = value;
}
}