public Array ReadEnumeratedArray(string fieldName, System.Type enumType)
{
if (enumType == null) throw new ArgumentNullException("enumType");
List<object> token = null;
if (!ReadArrayField(fieldName, out token))
{
return Array.CreateInstance(enumType, 0);
}
var values = Array.CreateInstance(enumType, token.Count);
for (int ii = 0; ii < token.Count; ii++)
{
try
{
m_stack.Push(token[ii]);
var element = ReadEnumerated(null, enumType);
values.SetValue(element, ii);
}
finally
{
m_stack.Pop();
}
}
return values;
}
#endregion