簡體   English   中英

如何訪問頁面中聲明的變量到內部類?

[英]How to access a variable declared in a page to a inner class?

我想訪問在同一頁面中創建的新類中在Main class中聲明為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_arrived的值傳遞給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_arrived值,它將失去同步。 因此,另一種方法是將父類的引用傳遞給內部類。

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.
     }
}

但是,不應鼓勵這種做法,並應采用更好的設計方法來消除這種做法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM