C# 从基类访问子类变量
我无法访问它。在asp.net中,我可以通过属性访问页面上的任何控件,但我必须从类(即类a)中访问公共变量,该类的形式为(即类b),这样我就不必在表单的50中编写特定的方法。您可以将变量放在基类中,以便继承的类可以访问它。例如:C# 从基类访问子类变量,c#,asp.net,.net,oop,inheritance,C#,Asp.net,.net,Oop,Inheritance,我无法访问它。在asp.net中,我可以通过属性访问页面上的任何控件,但我必须从类(即类a)中访问公共变量,该类的形式为(即类b),这样我就不必在表单的50中编写特定的方法。您可以将变量放在基类中,以便继承的类可以访问它。例如: class a : System.UI.Page { int ab= c; } class b : a { public int c= 0; } 此外,如果此属性不是特定于实例的,则始终可以在Global.asax文件中使用静态属性,该属性可以从ASP.NET应用程序
class a : System.UI.Page {
int ab= c;
}
class b : a
{
public int c= 0;
}
此外,如果此属性不是特定于实例的,则始终可以在Global.asax文件中使用静态属性,该属性可以从ASP.NET应用程序中的任何位置访问。如果它是特定于会话的,您只需让属性访问会话并从中存储/检索值,以便每个用户会话都有自己的值
希望这有帮助 我认为您使用继承的方式是错误的。试试这个,它应该可以工作:
class a : System.UI.Page
{
protected int c = 0;
}
class b : a
{
protected void DoSomething()
{
c = 1; //Access c from derived class.
}
}
类b是否继承自System.Web.UI.Page?为什么不把属性放在基类上,因为所有继承的类都可以访问它呢?类a是从System.Web.UI.Page继承的。作为我的参考,你能用getters n setters发布完整的类吗stuff@Aaron霍金斯。看来是个好办法,我来看看。谢谢。没问题,我会写下来作为你的答案。
public class a : b {
int ab = c;
}
public class b : System.UI.Page
{
public int c = 0;
}