Проблема, Вы пробуете к восходящему к более богатому объекту. Просто необходимо добавить объекты к новому списку:
if (myObject is IEnumerable)
{
List<object> list = new List<object>();
var enumerator = ((IEnumerable) myObject).GetEnumerator();
while (enumerator.MoveNext())
{
list.Add(enumerator.Current);
}
}
Согласно этой странице документации (раздел: 15.15.1.13. Массивы), это должно быть примерно так:
class strucWithArrays(Structure):
_fields_ = [
("foo", c_ulong),
("barFloat", c_float * 4),
("bowFloat", c_float * 17)]
Проверьте эту страницу документации для других примеров.
В документации есть раздел о массивах в ctypes . В основном это означает:
class structWithArray(Structure):
_fields_ = [
("foo", c_ulong),
("barFloat", c_float * 4),
("bowFloat", c_float * 17)
]