Exemplo n.º 1
0
        /// <summary>
        /// Gets a type information accessor
        ///
        ///
        /// <exception cref="MetadataBuilderException"></exception>
        ///
        /// </summary>
        /// <param name="informationAccessor">The instance of information  accessor</param>
        public void SetInfoAccessor(Func <Type, object> informationAccessor)
        {
            Guard.AgainstNullReference <MetadataBuilderException>(informationAccessor, "informationAccessor", "Can't get collection information");
            var collectionInformation = informationAccessor(typeof(ICollectionInfo));

            Guard.AgainstNullReference <MetadataBuilderException>(collectionInformation, "Can't get collection information");
            this._collectionInfo = (ICollectionInfo)collectionInformation;
            this._length         = this._collectionInfo.Length;
        }
Exemplo n.º 2
0
        public static Collection SyncCollection(Collection collection, ICollectionInfo schema)
        {
            SyncContainer(collection, schema);
            foreach (var item in collection.Items)
            {
                SyncElement(item, schema.Item);
            }

            return collection;
        }
Exemplo n.º 3
0
 private bool IsCompatibleCollection(ICollectionInfo schema, Type type)
 {
     return IsCompatibleContainer(schema, type) &&
         IsCompatibleContainer(schema.Item, type.GetItemType());
 }
Exemplo n.º 4
0
 public Collection(ICollectionInfo info, Type type, ObjectPair <object> collections)
 {
     Info        = info;
     Type        = type;
     Collections = collections;
 }
Exemplo n.º 5
0
 public Collection(ColumnDescriptor parent, ICollectionInfo collectionInfo) : base(parent, parent.PropertyPath.LookupAllItems())
 {
     _collectionInfo = collectionInfo;
 }
Exemplo n.º 6
0
 public Collection(ColumnDescriptor parent, ICollectionInfo collectionInfo) : base(parent, parent.PropertyPath.LookupAllItems())
 {
     _collectionInfo = collectionInfo;
 }