private void Parse(object data)
{
string typeName = data.GetType().Name;
switch (typeName)
{
case "String":
StringValue = (string)data;
DataType = UADataType.UAString;
break;
case "String[,]":
StringMatrix = (string[,])data;
DataType = UADataType.UAStringMatrix;
break;
case "String[]":
StringList = (string[])data;
DataType = UADataType.UAStringList;
break;
case "Double":
DoubleValue = (double)data;
DataType = UADataType.UADouble;
break;
case "Double[]":
DoubleList = (double[])data;
DataType = UADataType.UADoubleList;
break;
case "Double[,]":
DoubleMatrix = (double[,])data;
DataType = UADataType.UADoubleMatrix;
break;
case "Int16":
case "Int32":
case "Int64":
IntValue = (int)data;
DataType = UADataType.UAInt;
break;
case "Int16[]":
case "Int32[]":
case "Int64[]":
IntList = (int[])data;
DataType = UADataType.UAIntList;
break;
case "Int16[,]":
case "Int32[,]":
case "Int64[,]":
IntMatrix = (int[,])data;
DataType = UADataType.UAIntMatrix;
break;
case "Object[]":
{
Children = new List<ResultDataItem>();
Object[] rdata = (Object[])data;
foreach (Object o in rdata)
{
Children.Add(new ResultDataItem(o));
}
DataType = UADataType.UAList;
break;
}
}
}