您可以使用匿名方法来捕获它们:
string tempLabel = reader["LIBELLE"].ToString();
string templabelVeh = reader["LIBVEH"].ToString()
LeCmb_Statut.SelectedIndexChanged += delegate {
// do something fun with tempLabel and templabelVeh
};
对于小块或更长的代码,这可能是内联的 - 只需传递给一个方法:
string tempLabel = reader["LIBELLE"].ToString();
string templabelVeh = reader["LIBVEH"].ToString()
LeCmb_Statut.SelectedIndexChanged += delegate {
DoSomethingFun(tempLabel,templabelVeh);
};
或者如果您需要发件人/参数:
string tempLabel = reader["LIBELLE"].ToString();
string templabelVeh = reader["LIBVEH"].ToString()
LeCmb_Statut.SelectedIndexChanged += delegate(object sender, EventArgs args) {
DoSomethingFun(sender,args,tempLabel,templabelVeh);
};
或在 C# 3.0 中:
string tempLabel = reader["LIBELLE"].ToString();
string templabelVeh = reader["LIBVEH"].ToString()
LeCmb_Statut.SelectedIndexChanged += (sender, args) =>
DoSomethingFun(sender,args,tempLabel,templabelVeh);