public static int SdoWrite(IntPtr context, UInt16 slaveIndex, UInt16 sdoIndex, byte sdoSubIndex, IEnumerable <object> dataset) { return(EcHL.SdoWrite( context, slaveIndex, sdoIndex, sdoSubIndex, dataset.SelectMany(value => value.ToByteArray()).ToArray(), Convert.ToUInt32(dataset.Count()), dataset.Select(data => Marshal.SizeOf(data)).ToArray() )); }