特定の Bluetooth デバイスの読み取り/書き込みを行うために、(通常の IOStreams のように) InputStream/OutputStream を同期的に使用しようとしています。ガジェットで動作する目的の C コードがいくつかあるため、これが可能であることはわかっていますが、サードパーティの c# ライブラリを使用しているため、c# で動作させる必要があります。
私はここまで来ました:
string protocol = <protocol string>
// Attempt to connect to device...
EASession _session = new EASession (myEAAccessory, protocol);
inStream = _session.InputStream;
outStream = _session.OutputStream;
_session がメモリに割り当てられていることがわかります - Xamarin は、null 以外のポインターとデータ型を持っていることを示しています - ただし、InputStream と OutputStream の両方が null です (したがって、nullref 例外がスローされるため、それらを開くことはできません) )。
OutputStream と InputStream を null にしないようにするにはどうすればよいですか?
(私は多くの Apple ドキュメントを読もうとしていますが、それらのコード例はすべて Objective-C で書かれており、ほとんど理解できません...そして、Objective-C の「メモリ管理」ステートメントは適用されませんか?)
編集また、myEAAcessory が null でないことを確認しました。これは true を返します。
myEAAcessory .ProtocolStrings.Contains (protocol);