コード例 #1
0
            private long _gen; // copied for perfs

            internal Snapshot(SnapDictionary <TKey, TValue> store, GenerationReference generationReference)
            {
                _store = store;
                _generationReference = generationReference;
                _gen = generationReference.GenerationObject.Gen;
                _generationReference.GenerationObject.Reference();
            }
コード例 #2
0
            public GenerationReference GetReference()
            {
                // not thread-safe but always invoked from within a lock
                var generationReference = (GenerationReference)WeakReference.Target;

                if (generationReference == null)
                {
                    WeakReference.Target = generationReference = new GenerationReference(this);
                }
                return(generationReference);
            }