C# 如何将页面中声明的变量访问到内部类?

C# 如何将页面中声明的变量访问到内部类?,c#,class,uwp,C#,Class,Uwp,我想访问一个在主类中声明为public的变量到同一页面中创建的新类。我做了如下的事情。但无法访问该类中的变量 public sealed partial class MainPage : Page { public bool is_arrived = false; public MainPage() { this.InitializeComponent(); bool is_arrived=true; CallingWeb

我想访问一个在主类中声明为public的变量到同一页面中创建的新类。我做了如下的事情。但无法访问该类中的变量

public sealed partial class MainPage : Page
{ 
    public bool is_arrived = false;
    public MainPage()
    {
        this.InitializeComponent();
        bool is_arrived=true;
        CallingWebServices asyn_task = new CallingWebServices();
    }
    public class CallingWebServices
    {
        //want to access variable "is_arrived" here.
    }
}

在这种情况下,您应该使用构造函数注入并将is_arrized的值传递给CallingWebServices

public sealed partial class MainPage : Page
{ 
    public bool is_arrived = false;
    public MainPage()
    {
        this.InitializeComponent();
        bool is_arrived=true;
        CallingWebServices asyn_task = new CallingWebServices(is_arrived);
    }
    public class CallingWebServices
    {
         private bool _isArrived;
         public CallingWebServices(bool isArrived)
         {
            _isArrived=isArrived;
         }
        //want to access variable "is_arrived" here.
    }
}
这种方法的一个问题是,如果在父类中更改is_到达值,它将失去同步。因此,另一种方法是将父类的引用传递给内部类

public sealed partial class MainPage : Page
{ 
    public bool is_arrived = false;
    public MainPage()
    {
        this.InitializeComponent();
        bool is_arrived=true;
        CallingWebServices asyn_task = new CallingWebServices(this);
    }
    public class CallingWebServices
    {
         private MainPage _Instance;
         public CallingWebServices(MainPage instance)
         {
            _Instance=instance;
         }
        //Access variable "instance.is_arrived" here.
     }
}

但是,应该劝阻这种做法,并通过采用更好的设计方法来消除这种做法。

为什么要在页面中创建嵌套类,这可能是重复的?你想干什么?