private static object ToGuid(object value, BuiltInType sourceType)
{
// check for array conversions.
Array array = value as Array;
if (array != null)
{
Guid[] output = new Guid[array.Length];
for (int ii = 0; ii < array.Length; ii++)
{
output[ii] = (Guid)Cast(array.GetValue(ii), BuiltInType.Guid);
}
return output;
}
// handle for supported conversions.
switch (sourceType)
{
case BuiltInType.Guid:
{
return (Guid)value;
}
case BuiltInType.String:
{
return new Guid((string)value);
}
case BuiltInType.ByteString:
{
return new Guid((byte[])value);
}
}
// conversion not supported.
return null;
}