`CommService.CommServiceClient client = new CommService.CommServiceClient(); string cardId = txtCardId.Text; string cardType = cboCardType.Text; string cardPin = txtCardPin.Text;
if (radEnab.IsChecked == true)
{
string blacklist = Convert.ToString(radEnab.DataContext);
}
if (radDis.IsChecked == true)
{
string blacklist = Convert.ToString(radDis.DataContext);
}
if (radEnab2.IsChecked == true)
{
string blocked = Convert.ToString(radEnab2.DataContext);
}
if (radDis2.IsChecked == true)
{
string blocked = Convert.ToString(radDis2.DataContext);
}
string startDate = StartDate.Text;
string expiryDate = ExpiryDate.Text;
string zone = cboZone.Text;
string data = cardId + cardType + cardPin + blacklist + blocked + startDate + expiryDate + zone;
client.ReceiveDataFromApp("R1", "11", "161.100.100.79", "4000", data);
问题是黑名单并被阻止"名称''在当前背景下不存在" 如何解决这个问题
答案 0 :(得分:0)
您应该在blacklist
变量可以访问的范围内声明blocked
和data
。在您的情况下,您声明blacklist
并阻止了if
变量无法访问的data
范围内。
您应该这样做才能访问黑名单并屏蔽:
string blacklist = string.Empty;
string blocked = string.Empty;
if (radEnab.IsChecked == true)
{
blacklist = Convert.ToString(radEnab.DataContext);
}
if (radDis.IsChecked == true)
{
blacklist = Convert.ToString(radDis.DataContext);
}
if (radEnab2.IsChecked == true)
{
blocked = Convert.ToString(radEnab2.DataContext);
}
if (radDis2.IsChecked == true)
{
blocked = Convert.ToString(radDis2.DataContext);
}
string startDate = StartDate.Text;
string expiryDate = ExpiryDate.Text;
string zone = cboZone.Text;
string data = cardId + cardType + cardPin + blacklist + blocked + startDate + expiryDate + zone;
client.ReceiveDataFromApp("R1", "11", "161.100.100.79", "4000", data);
为了更好地理解局部变量范围,请查看here