在不同的页面中使用 StreamSocket 对象



这似乎是一个老生常谈的问题,因为我是面向对象编程的新手,但我正在开发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对象,并在应用程序的不同页面中使用它。

基本上,此方法在主页中执行,我希望在我创建的"配置页面"中访问 StreamSocket 的填充字段。

如何在不创建新对象的情况下将此对象获取到配置页?

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

public static StreamSocket Socket { get; set; }

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

await App.Socket.ConnectAsync(peer.HostName, "{00001101-0000-1000-8000-00805F9B34FB}");

相关内容

  • 没有找到相关文章

最新更新