internal static SensorList <S> nativeSensorCollectionToSensorCollection <S>(ISensorCollection nativeCollection) where S : Sensor { SensorList <S> sensors = new SensorList <S>(); if (nativeCollection != null) { uint sensorCount = 0; nativeCollection.GetCount(out sensorCount); for (uint i = 0; i < sensorCount; i++) { ISensor iSensor = null; nativeCollection.GetAt(i, out iSensor); S sensor = GetSensorWrapperInstance <S>(iSensor); if (sensor != null) { sensor.internalObject = iSensor; sensors.Add(sensor); } } } return(sensors); }