I have a global class and an asp.net page. I want use globally declared singleton members without re-declaring the class name.
for example:
Panel.cs:
public class Panel {
public static Panel P = new Panel();
private Panel() {
}
public void DoSomething() {
HttpContext.Current.Response.Write("Everything is OK!");
}
}
sample.aspx.cs:
public partial class temp_sample :System.Web.UI.Page {
Panel p = Panel.P;
protected void Page_Load(object sender, EventArgs e) {
//regular:
myP.DoSomething();
//or simply:
Panel.P.DoSomething();
//it both works, ok
//but i want to use without mentioning 'Panel' in every page
//like this:
P.DoSomething();
}
}
Is this possible? Thank you very much!
Create base class inherited from Page
class MyPage : System.Web.UI.Page
and put your p
property there once.
Than just inherit your pages from MyPage
instead of System.Web.UI.Page
assuming you're just looking to implement the singleton pattern (avoid scoping a Panel
property within each page):
public class Panel
{
#region Singleton Pattern
public static Panel instance = new Panel();
public static Panel Instance
{
get { return instance; }
}
private Panel()
{
}
#endregion
public void DoSomething()
{
HttpContext.Current.Response.Write("Everything is OK!");
}
}
Then reference it simply using:
Panel.Instance.DoSomething();
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.