コンピューター #1 からすべてのセンサー データを取得するプログラムがあります。
using Windows7.Sensors;
Sensor[] sensors = SensorManager.GetAllSensors();
foreach (Sensor sensor in sensors)
sensor.DataUpdated += sensor_DataUpdated;
そして、DataUpdated 関数では、ソケットを使用してすべてのデータをコンピューター #2 に送信したいと考えています。そこで、すべてのデータを含むクラスを作成しました:
[Serializable]
public class SensorData
{
public Sensor Sensor { get; set; }
public SensorDataReport SensorDataReport { get; set; }
public SensorData()
{
}
}
DataUpdated 関数は次のとおりです。
static void sensor_DataUpdated(Sensor sensor, SensorDataReport dataReport)
{
SensorData data = new SensorData(sensor, dataReport);
socket.Send(data.ToByteArray()); // this 'ToByteArray()' is not a real function. this is what I am looking for
}
私の問題は、クラス オブジェクトをバイト配列に変換する方法がわからないことです。シリアル化しようとすると、SensorDataReport オブジェクトをシリアル化できないため失敗しました。
それを行う方法はありますか??