示例#1
0
        /// <summary>
        /// Creates new data instance and copies data from this collection to the new one.
        /// </summary>
        /// <returns>
        /// New data instance and copies data from this collection to the new one.
        /// </returns>
        public SnapshotDataAssociativeContainer Copy()
        {
            SnapshotDataAssociativeContainer data = new SnapshotDataAssociativeContainer();

            data.IndexData = new Dictionary <MemoryIndex, MemoryEntry>(IndexData);

            return(data);
        }
示例#2
0
        /// <inheritdoc />
        public ISnapshotDataProxy CreateNewInstanceWithData(IReadOnlySnapshotData oldData)
        {
            SnapshotDataAssociativeContainer data = oldData as SnapshotDataAssociativeContainer;

            if (data != null)
            {
                return(new CopySnapshotDataProxy(data));
            }
            else
            {
                throw new InvalidCastException("Argument is not of type SnapshotDataAssociativeContainer");
            }
        }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="CopySnapshotDataProxy" /> class.
 /// Deeply copies given proxy instance.
 /// </summary>
 /// <param name="proxy">The proxy.</param>
 public CopySnapshotDataProxy(CopySnapshotDataProxy proxy)
 {
     snapshotData = proxy.snapshotData.Copy();
 }
示例#4
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="CopySnapshotDataProxy" /> class.
 /// Uses given data instance as readonly source of data.
 /// </summary>
 /// <param name="oldData">The old data.</param>
 public CopySnapshotDataProxy(SnapshotDataAssociativeContainer oldData)
 {
     snapshotData = oldData.Copy();
 }
示例#5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CopySnapshotDataProxy" /> class.
 /// </summary>
 public CopySnapshotDataProxy()
 {
     snapshotData = new SnapshotDataAssociativeContainer();
 }
示例#6
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="LazyCopySnapshotDataProxy" /> class.
 /// Deeply copies given proxy instance.
 /// </summary>
 /// <param name="proxy">The proxy.</param>
 public LazyCopySnapshotDataProxy(LazyCopySnapshotDataProxy proxy)
 {
     readonlyInstance = proxy.readonlyInstance;
 }
示例#7
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="LazyCopySnapshotDataProxy" /> class.
 /// Uses given data instance as readonly source of data.
 /// </summary>
 /// <param name="oldData">The old data.</param>
 public LazyCopySnapshotDataProxy(SnapshotDataAssociativeContainer oldData)
 {
     readonlyInstance = oldData;
 }
示例#8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LazyCopySnapshotDataProxy" /> class.
 /// </summary>
 public LazyCopySnapshotDataProxy()
 {
     snapshotData     = new SnapshotDataAssociativeContainer();
     readonlyInstance = snapshotData;
     isReadonly       = false;
 }