public virtual bool IsNDimensional(IReflectClass a_class)
 {
     if (a_class is GenericArrayClass)
     {
         return(false);
     }
     return(_delegate.IsNDimensional(a_class.GetDelegate()));
 }
        public static IEnumerator Iterator(IReflectClass claxx, object obj)
        {
            IReflectArray reflectArray = claxx.Reflector().Array();

            if (reflectArray.IsNDimensional(claxx))
            {
                return(MultidimensionalArrayHandler.AllElementsMultidimensional(reflectArray, obj
                                                                                ));
            }
            return(Db4objects.Db4o.Internal.Handlers.Array.ArrayHandler.AllElements(reflectArray
                                                                                    , obj));
        }
 internal virtual void Configure(IReflectClass clazz, bool isPrimitive)
 {
     _isArray = clazz.IsArray();
     if (_isArray)
     {
         IReflectArray reflectArray = Reflector().Array();
         _isNArray    = reflectArray.IsNDimensional(clazz);
         _isPrimitive = reflectArray.GetComponentType(clazz).IsPrimitive();
     }
     else
     {
         _isPrimitive = isPrimitive | clazz.IsPrimitive();
     }
 }