首页 > 在c#里,同一个类的不同方法,怎么访问彼此的变量。

在c#里,同一个类的不同方法,怎么访问彼此的变量。

问题情景:
在编写uwp app时,
为网络请求写了一个方法,
为按钮的点击事件写了一个方法,
这两个方法都在同一个类里面,
按钮的点击事件这个方法,怎么才能访问网络请求方法里的变量?
代码如下:
namespace simple_http_client_uwp_demo
{

/// <summary>
/// 可用于自身或导航至 Frame 内部的空白页。
/// </summary>
public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
    }

    // 网络请求
    public async void startRequest()
    {
        // 创建 HTTP Client
        HttpClient httpClient = new HttpClient();

        // 为 Get 请求添加标头合集
        var headers = httpClient.DefaultRequestHeaders;

        // 当标头为 ie 时
        string header = "ie";
        if( !headers.UserAgent.TryParseAdd( header ) )
        {
            throw new Exception( "Invalid header value : " + header );
        }

        // 当标头为非 ie 时
        header = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)";
        if( !headers.UserAgent.TryParseAdd( header ) )
        {
            throw new Exception( "Invalid header value: " + header );
        }

        // 创建 Uri
        Uri requestUri = new Uri( "http://bbs.eui.cc/forum.php" );

        // 开始网络请求,该操作为异步操作,并检索请求到的字符串
        HttpResponseMessage httpResponse = new HttpResponseMessage();
        string httpResponseBody = "";

        try
        {
            httpResponse = await httpClient.GetAsync( requestUri );
            httpResponse.EnsureSuccessStatusCode();
            httpResponseBody = await httpResponse.Content.ReadAsStringAsync();
        }
        catch( Exception ex )
        {
            httpResponseBody = "Error " + ex.HResult.ToString( "X" ) + " Message : " + ex.Message;
        }
        // 就是这个,我想挪到按钮的点击事件里
        mainPage_TextBlock_ResultTextBlock.Text = httpResponseBody;
    }
    // 按钮的点击事件
    public void mainPage_Button_TestBtn_Tapped( object sender, TappedRoutedEventArgs e )
    {
        startRequest();
        // 还有一个 TextBlock用来显示网络请求获取到的数据,目前是在网络请求里实现的,我想把这个挪到按钮的点击事件里,有什么办法吗?
    }
}

}


方法中的成员变量 作用域 是 方法内部
类成员变量作用域是整个类中

所以 你想方法中彼此访问成员 必须 提升这个成员的级别 变为类成员 这样整个类任何地方都能访问了~

【热门文章】
【热门文章】