class a : System.UI.Page {
int ab= c;
}
class b : a
{
public int c= 0;
}
我无法访问它。我可以通过asp.net 中的Control.NamingContainer属性访问页面上的任何控件,但我必须从表单(即 b 类)中的类(即 a 类)访问公共变量,这样我就没有写我的表格中的50个特殊方法。
class a : System.UI.Page {
int ab= c;
}
class b : a
{
public int c= 0;
}
我无法访问它。我可以通过asp.net 中的Control.NamingContainer属性访问页面上的任何控件,但我必须从表单(即 b 类)中的类(即 a 类)访问公共变量,这样我就没有写我的表格中的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;
}