我正在尝试访问类中定义的全局变量。我无法访问覆盖函数中的变量。我该怎么办? 下面是代码:
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方法
答案 0 :(得分:1)
变量只能在类中声明。
因此,为了使用它,你必须这样做:
public class ITextEvents : PdfPageEventHelper
{
public static string headervalue = "";
public override void OnEndPage(PdfWriter writer, Document document)
{
[..your implementation..]
}
}
如果要在多个类之间共享,则需要使用SimpleIOC之类的容器。
我不知道它是否会对你有帮助。