private ItemCreateInfo(StoreObjectType type, Schema schema, AcrProfile acrProfile, ItemCreateInfo.ItemCreator creator) { this.Type = type; this.Schema = schema; this.AcrProfile = acrProfile; this.Creator = creator; }
internal static T ConstructItem <T>(StoreSession session, StoreObjectId id, byte[] changeKey, ICollection <PropertyDefinition> propertiesToLoad, ItemBuilder.PropertyBagCreator propertyBagCreator, ItemCreateInfo.ItemCreator creator, Origin origin, ItemLevel itemLevel) where T : Item { PersistablePropertyBag persistablePropertyBag = null; CoreItem coreItem = null; T t = default(T); bool flag = false; T result; try { persistablePropertyBag = propertyBagCreator(); coreItem = new CoreItem(session, persistablePropertyBag, id, changeKey, origin, itemLevel, propertiesToLoad, ItemBindOption.None); t = (T)((object)creator(coreItem)); flag = true; result = t; } finally { if (!flag) { Util.DisposeIfPresent(t); Util.DisposeIfPresent(coreItem); Util.DisposeIfPresent(persistablePropertyBag); } } return(result); }