コード例 #1
0
 internal QConClass(Transaction trans, QCon parent, QField field, IReflectClass claxx
                    ) : base(trans, parent, field, null)
 {
     // C/S
     if (claxx != null)
     {
         ObjectContainerBase container = trans.Container();
         _classMetadata = container.ClassMetadataForReflectClass(claxx);
         if (_classMetadata == null)
         {
             // could be an aliased class, try to resolve.
             string className        = claxx.GetName();
             string aliasRunTimeName = container.Config().ResolveAliasStoredName(className);
             if (!className.Equals(aliasRunTimeName))
             {
                 _classMetadata = container.ClassMetadataForName(aliasRunTimeName);
             }
         }
         if (claxx.Equals(container._handlers.IclassObject))
         {
             _classMetadata = (ClassMetadata)_classMetadata.TypeHandler();
         }
     }
     _claxx = claxx;
 }