[英]C# Can a base class property be invoked from derived class
我有一個帶有 setter 方法的屬性的基類。 有沒有辦法從派生類調用基類中的 setter 並為其添加更多功能,就像我們使用 base 關鍵字覆蓋方法一樣。
抱歉,我應該添加一個示例。 這是一個例子。 希望我做對了:
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
}
}
}
編輯:修改后的示例應該展示調用的順序。 編譯為控制台應用程序。
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
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.