/// <summary>Returns a ReflectClass instance for the specified class</summary> /// <param name="clazz">class</param> /// <returns>a ReflectClass instance for the specified class</returns> /// <seealso cref="Db4objects.Db4o.Reflect.IReflectClass">Db4objects.Db4o.Reflect.IReflectClass /// </seealso> public virtual IReflectClass ForClass(Type clazz) { if (clazz == null) { return(null); } IReflectClass claxx = (IReflectClass)_classByClass.Get(clazz); if (claxx != null) { return(claxx); } if (!clazz.IsArray && ReflectPlatform.IsNamedClass(clazz)) { claxx = ForName(ReflectPlatform.FullyQualifiedName(clazz)); if (claxx != null) { _classByClass.Put(clazz, claxx); return(claxx); } } claxx = _delegate.ForClass(clazz); if (claxx == null) { return(null); } claxx = EnsureDelegate(claxx); _classByClass.Put(clazz, claxx); return(claxx); }