class a : System.UI.Page {
int ab= c;
}
class b : a
{
public int c= 0;
}
我無法訪問它。我可以通過Control.NamingContainerControl.NamingContainer在asp.net的屬性,但我可以訪問任何控制我必須從類(即類b)的類(即類a)訪問公共變量,以便我沒有寫一個在我的表單中有50個特定的方法。從基類訪問子類變量
class a : System.UI.Page {
int ab= c;
}
class b : a
{
public int c= 0;
}
我無法訪問它。我可以通過Control.NamingContainerControl.NamingContainer在asp.net的屬性,但我可以訪問任何控制我必須從類(即類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.
}
}
此外,如果此屬性不特定於實例,你可以隨時使用,可以從任何地方你的ASP.NET應用程序中訪問Global.asax文件的靜態屬性。如果它是會話特定的,您可以簡單地讓該屬性訪問會話並從那裏存儲/檢索值,以便每個用戶會話都有自己的值。
希望這會有所幫助!
我想你是以錯誤的方式使用繼承。嘗試這個,它應該工作:
public class a : b {
int ab = c;
}
public class b : System.UI.Page
{
public int c = 0;
}
是否類b繼承System.Web.UI.Page?爲什麼不把屬性放在基類上,因爲所有的繼承類都可以訪問它? –
類a從System.Web.UI.Page繼承。 –
爲我的親戚參考可以發佈全部類與getters n setters和所有那些很酷的東西 – user1974729