コード例 #1
0
 internal BaseClassIfc Duplicate(BaseClassIfc entity, bool downStream)
 {
     if (mDuplicateMapping.ContainsKey(entity.mIndex))
         return mDatabase[mDuplicateMapping[entity.mIndex]];
     Type type = Type.GetType("GeometryGym.Ifc." + entity.GetType().Name, false, true);
     if (type != null)
     {
         Type[] types = new Type[] { typeof(DatabaseIfc), type, typeof(bool) };
         ConstructorInfo constructor = type.GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, types, null);
         if (constructor != null)
             return constructor.Invoke(new object[] { this.mDatabase, entity, downStream }) as BaseClassIfc;
         types = new Type[] { typeof(DatabaseIfc), type };
         constructor = type.GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, types, null);
         if (constructor != null)
             return constructor.Invoke(new object[] { this.mDatabase, entity }) as BaseClassIfc;
     }
     return null;
 }
コード例 #2
0
 internal BaseClassIfc Duplicate(BaseClassIfc entity)
 {
     return Duplicate(entity, true);
 }