简体   繁体   English

该名称在当前上下文中不存在-如何访问?

[英]The name does not exist in current context - How to access it?

In my code i have defined string repeatnumber and assigned it into for loop. 在我的代码中,我定义了字符串repeatnumber并将其分配给for循环。 However, i need it to be accesible when im creating a button click event. 但是,当我创建按钮单击事件时,我需要它是可访问的。 Not sure how to do it. 不知道该怎么做。

Can anyone give me some tips? 谁能给我一些提示?

   public partial class MainWindow : Window
{
    public MainWindow()
    {         
        InitializeComponent();
        string[] assignments = new string[] { "A", "b", "c", "d", "e", "f" };
        Random rnd = new Random();

        string[] randomingArray = assignments.OrderBy(x => rnd.Next()).ToArray();
        string repeatNumber = "";

        List<ImageSource> animals = new List<ImageSource>();

        for (int i = 1; i < 100; i++)
        {
            if (i == 9)
            {
                repeatNumber = randomingArray[i % randomingArray.Length];
                animals.Add(new ImageSource() { Source = repeatNumber, Number = i });
            }
            else if ((i % 9) == 0)
            {
                animals.Add(new ImageSource() { Source = repeatNumber, Number = i });
            }
            else
            {
                animals.Add(new ImageSource() { Source = randomingArray[i % rnd.Next(1,5)], Number = i });
            }
            ItemsControl1.ItemsSource = animals;
        }
    }


    private void btn1_Click(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("test");
    }
    private void btn2_Click(object sender, RoutedEventArgs e)
    {
        MessageBox.Show((new ImageSource() { Source = repeatNumber })); <-- the name repeatNumber does not exist in current context
    }
}

class ImageSource
{
    public int Number { get; set; }
    public string Source { get; set; }
}

You need to define repeatnumber as a class property 您需要将repeatnumber定义为类属性

public partial class MainWindow : Window
{

   private string repeatNumber;

   public MainWindow()
   {  
   ...  

Otherwise it is limited to the scope (<= you want to look that up) of the MainWindow constructor. 否则,它将限于MainWindow构造函数的范围(<=您要查找的范围)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM