Beispiel #1
0
        public PropertyWatcher(PropertyWatcher ReferenceCloneFrom, PropertyWatcherAccessMode AccessMode)
            : this(ReferenceCloneFrom._Type, ReferenceCloneFrom.LogHistory)
        {
            this._Histories = ReferenceCloneFrom._Histories;
            this._Values    = ReferenceCloneFrom._Values;

            this._AccessMode = AccessMode;
        }
Beispiel #2
0
        /// <summary>
        /// Creates a content-synchronized copy of this watcher, typically with a new access mode.
        /// </summary>
        /// <param name="AccessMode">The access mode to give the new watcher. Note that the supplied access mode must be at least as restrictive as the current watcher's.</param>
        public PropertyWatcher MakeReferenceCopy(PropertyWatcherAccessMode AccessMode)
        {
            if ((this.AccessMode == PropertyWatcherAccessMode.ReadOnly && (AccessMode == PropertyWatcherAccessMode.ReadWrite || AccessMode == PropertyWatcherAccessMode.NoSet)) ||
                (this.AccessMode == PropertyWatcherAccessMode.NoSet && AccessMode == PropertyWatcherAccessMode.ReadWrite))
            {
                throw new ArgumentException("The supplied access mode must be at least as restrictive as the current watcher's.");
            }

            return(new PropertyWatcher(this, AccessMode));
        }