0

这似乎是一个老生常谈的问题,因为我是面向对象编程的新手,但我正在开发一个 Windows Phone 应用程序,我对程序中的 _socket 对象感到好奇。

我在下面使用的代码有效,我通过蓝牙将这个字节数组通过 UART 发送到我的微处理器。

private async void ConnectToDevice(PeerInformation peer)
{
        if (_socket != null)
        {
            _socket.Dispose();
        }

        try
        {
            _socket = new StreamSocket();
            await _socket.ConnectAsync(peer.HostName, "{00001101-0000-1000-8000-00805F9B34FB}");

            byte[] bytesToSend = new byte[5] {8,2,3,14,5} ;
            var buffer = GenerateData(bytesToSend);

            await _socket.OutputStream.WriteAsync(buffer);

            MessageBox.Show("Connected to Bluetooth!");
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);

            _socket.Dispose();
            _socket = null;
        }
    }

我想要做的是从上面获取 _socket 对象并在我的应用程序的不同页面中使用它。

基本上,这个方法是在 MainPage 中执行的,我想在我创建的“ConfigurationPage”中访问 StreamSocket 的填充字段。

我将如何在不创建新对象的情况下将此对象添加到 ConfigurationPage?

4

1 回答 1

0

一种方法是在 App.xaml.cs 的静态属性中声明它:

public static StreamSocket Socket { get; set; }

然后您可以从应用程序中的任何位置访问它:

await App.Socket.ConnectAsync(peer.HostName, "{00001101-0000-1000-8000-00805F9B34FB}");
于 2013-11-13T17:05:52.287 回答