从基类访问子类变量

本文关键字:类变量 访问 基类 | 更新日期: 2023-09-27 17:57:17

class a : System.UI.Page {
int ab= c;
}
class b : a
{
public int c= 0;
}

我无法访问它。我可以通过 asp.net 中的 Control.NamingContainer 属性访问页面上的任何控件,但我必须从形式(即 b.class b) 中的类(即 a) 访问公共变量.class这样我就不会在我的窗体的 50 个中编写特定方法。

从基类访问子类变量

您可以将变量放在基类上,以便继承的类可以访问它。 例如:

class a : System.UI.Page
{
    protected int c = 0;
}
class b : a
{
    protected void DoSomething()
    {
        c = 1; //Access c from derived class.
    }
}

此外,如果此属性不是特定于实例的,则始终可以在 Global.asax 文件中使用静态属性,可以从 ASP.NET 应用程序中的任何位置访问该属性。 如果它是特定于会话的,则只需让属性访问会话并从那里存储/检索值,以便每个用户会话都有自己的值。

希望这有帮助!

我认为你以错误的方式使用继承。试试这个,它应该可以工作:

public class a : b {
    int ab = c;
}
public class b : System.UI.Page
{
    public int c = 0;
}