名称'';枚举器';在当前上下文中不存在
本文关键字:上下文 不存在 枚举 名称 | 更新日期: 2023-09-27 17:52:18
使用系统;使用System.Data;使用System.Windows.Forms;使用System.Data.SqlClient;使用System.Linq;
namespace ProiectBDD
{
public partial class AdaugaIntrebari : UserControl
{
private string connstring;
public string Connstring
{
get { return connstring; }
set { connstring = value; }
}
public AdaugaIntrebari(string p_connstring)
{
connstring = p_connstring;
InitializeComponent();
IncarcaCategorii();
}
private void button1_Click(object sender, EventArgs e)
{
if (enumerator.MoveNext())
{
label1.Text = enumerator.Current.Categorie;
}
}
public void IncarcaCategorii()
{
DataClasses1DataContext dc = new DataClasses1DataContext();
var q = from a in dc.GetTable<Categorii>()
select a;
var enumerator = q.AsEnumerable().GetEnumerator();
}
}
}
我得到的名称enumerator
不存在于我的按钮事件处理程序中的当前上下文错误中方法
button1_Click
不知道enumerator
,因为它只存在于IncarcaCategorii中你需要使它成为一个类字段
using System;
using System.Data;
using System.Windows.Forms;
using System.Linq;
namespace ProiectBDD
{
public partial class AdaugaIntrebari : UserControl
{
private string connstring;
private IEnumerator<DataRow> _enumerator;
public string Connstring
{
get { return connstring; }
set { connstring = value; }
}
public AdaugaIntrebari(string p_connstring)
{
connstring = p_connstring;
InitializeComponent();
IncarcaCategorii();
}
private void button1_Click(object sender, EventArgs e)
{
if (_enumerator == null) return;
if (enumerator.MoveNext())
{
label1.Text = _enumerator.Current.Categorie;
}
}
public void IncarcaCategorii()
{
DataClasses1DataContext dc = new DataClasses1DataContext();
var q = from a in dc.GetTable<Categorii>()
select a;
_enumerator = q.AsEnumerable().GetEnumerator();
}
}
}
作用域中不存在enomerator
变量
参见此方法:
public void IncarcaCategorii()
{
DataClasses1DataContext dc = new DataClasses1DataContext();
var q = from a in dc.GetTable<Categorii>()
select a;
var enumerator = q.AsEnumerable().GetEnumerator();
} // This is where "enumerator" become subject to garbage collection
enumerator
变量需要以某种方式传入此处:
private void button1_Click(object sender, EventArgs e)
{
if (enumerator.MoveNext())
{
label1.Text = enumerator.Current.Categorie;
}
}
label1.Text = enumerator.Current.Categorie.[FieldName];
或者IEnumerator
的当前位置可能断章取义,请再次选择对象