示例#1
0
        public PrefVal <C> collection <A, C>(
            string key,
            ISerializedRW <A> rw, CollectionBuilderKnownSizeFactory <A, C> factory,
            C defaultVal,
            PrefVal.OnDeserializeFailure onDeserializeFailure =
            PrefVal.OnDeserializeFailure.ReturnDefault,
            ILog log = null
            ) where C : ICollection <A>
        {
            var collectionRw = SerializedRW.a(
                SerializedRW.collectionSerializer <A, C>(rw),
                SerializedRW.collectionDeserializer(rw, factory)
                );

            return(collection <A, C>(
                       key, collectionRw, defaultVal, onDeserializeFailure, log
                       ));
        }
示例#2
0
        public PrefVal <C> collection <A, C>(
            string key,
            ISerializedRW <A> rw, Fn <ImmutableArray <A>, C> toCollection,
            C defaultVal, bool saveOnEveryWrite = true,
            PrefVal.OnDeserializeFailure onDeserializeFailure =
            PrefVal.OnDeserializeFailure.ReturnDefault,
            ILog log = null
            ) where C : ICollection <A>
        {
            var collectionRw = SerializedRW.a(
                SerializedRW.collectionSerializer <A, C>(rw),
                SerializedRW
                .collectionDeserializer(rw)
                .map(arr => toCollection(arr).some())
                );

            return(collection <A, C>(
                       key, collectionRw, defaultVal, saveOnEveryWrite, onDeserializeFailure, log
                       ));
        }