如何覆盖 属性 而没有在 Base 属性 中标记为 Partial、abstract 或 extern?
How to Override a Property without marked like Partial, abstract or extern in the Base Property?
我在名为 HasChar
的远程服务器中有一个 属性,类型为 Bool
。我需要在我的 Derived class 中重新定义它并进行一些修改。但是 Base 属性 没有标记为 Partial
、abstract
或 extern
。但是我需要重新定义,我该如何实现?在DerivedClass中,我需要访问DerivedClass中BaseClass的HasChar
属性,如果值为False
,然后我必须将 BlogText
设为 String.Empty
Note: The Base Class is in Remote Server, I Can't able to Change it or
initiate for the Changes. The Base Class Property don't marked as
Partial
, abstract
or extern
. Don't create any additional property to achieve this. Kindly give the solution related to Override or similar.
我的基地Class
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; }
}
我的派生Class:粗略的代码
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;
}
}
我在名为 HasChar
的远程服务器中有一个 属性,类型为 Bool
。我需要在我的 Derived class 中重新定义它并进行一些修改。但是 Base 属性 没有标记为 Partial
、abstract
或 extern
。但是我需要重新定义,我该如何实现?在DerivedClass中,我需要访问DerivedClass中BaseClass的HasChar
属性,如果值为False
,然后我必须将 BlogText
设为 String.Empty
Note: The Base Class is in Remote Server, I Can't able to Change it or initiate for the Changes. The Base Class Property don't marked as
Partial
,abstract
orextern
. Don't create any additional property to achieve this. Kindly give the solution related to Override or similar.
我的基地Class
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; }
}
我的派生Class:粗略的代码
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;
}
}