我将如何访问我班级中的公共变量

时间:2016-06-13 12:19:17

标签: c# asp.net global-variables

我正在尝试访问类中定义的全局变量。我无法访问覆盖函数中的变量。我该怎么办? 下面是代码:

    public partial class VR: System.Web.UI.Page
   {
       public SqlConnection SQLCONN;
      public string headervalue = "";
       protected void Page_Load(object sender, EventArgs e)
      {

      }             

    // code...............



    public class ITextEvents : PdfPageEventHelper
    {

        // code....



        public override void OnEndPage(iTextSharp.text.pdf.PdfWriter writer, iTextSharp.text.Document document)
        {

            string value = "";
           // code.....................................
           headervalue     //error unable to access it here

        }

          protected void btnExport_Click(object sender, EventArgs e)
    {
       headervalue = "abcc"; 
       CreatePDF();
    }

我试图在public override void OnEndPage方法中访问headervalue。我能够将headervalue访问到btnExport click方法

1 个答案:

答案 0 :(得分:1)

变量只能在类中声明。

因此,为了使用它,你必须这样做:

public class ITextEvents : PdfPageEventHelper
{
    public static string headervalue = "";

    public override void OnEndPage(PdfWriter writer, Document document)
    {
       [..your implementation..]
    }
 }

如果要在多个类之间共享,则需要使用SimpleIOC之类的容器。

我不知道它是否会对你有帮助。