这似乎是一个老生常谈的问题,因为我是面向对象编程的新手,但我正在开发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}");