Sha*_*hid 17 c# setter overriding
我有一个基类,其属性具有setter方法.有没有办法从派生类调用基类中的setter,并为其添加更多功能,就像使用base关键字的overriden方法一样.
对不起,我应该添加一个例子.这是一个例子.希望我做对了:
public class A
{
public abstract void AProperty
{
set
{
// doing something here
}
}
}
public class B : A
{
public override void AProperty
{
set
{
// how to invoke the base class setter here
// then add some more stuff here
}
}
}
Run Code Online (Sandbox Code Playgroud)
Pao*_*lla 31
编辑:修改后的示例应该说明调用的顺序.编译为控制台应用程序.
class baseTest
{
private string _t = string.Empty;
public virtual string t {
get{return _t;}
set
{
Console.WriteLine("I'm in base");
_t=value;
}
}
}
class derived : baseTest
{
public override string t {
get { return base.t; }
set
{
Console.WriteLine("I'm in derived");
base.t = value; // this assignment is invoking the base setter
}
}
}
class Program
{
public static void Main(string[] args)
{
var tst2 = new derived();
tst2.t ="d";
// OUTPUT:
// I'm in derived
// I'm in base
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16850 次 |
| 最近记录: |