Bike.Interpreter.Interpreter.ArrayConversionRule.Convert C# (CSharp) Метод

Convert() публичный Метод

public Convert ( Type targetType, object owner, object &value ) : bool
targetType System.Type
owner object
value object
Результат bool
            public bool Convert(Type targetType, object owner, ref object value)
            {
                if (!(value is object[]) || !targetType.IsArray)
                    return false;

                if (targetType == typeof(object[]))
                    return true;

                var values = ((object[])value);
                var array = (Array)targetType.CreateInstance(values.Length);
                var elementType = array.GetType().GetElementType();
                for (int i = 0; i < values.Length; i++)
                {
                    object element = values[i];
                    try
                    {
                        if (TryConvert(elementType, owner, ref element))
                            array.SetValue(element, i);
                        else
                            return false;
                    }
                    catch (ImmediateStop)
                    {
                        return false;
                    }
                }
                value = array;
                return true;
            }
Interpreter.ArrayConversionRule