public PropertyWatcher(PropertyWatcher ReferenceCloneFrom, PropertyWatcherAccessMode AccessMode) : this(ReferenceCloneFrom._Type, ReferenceCloneFrom.LogHistory) { this._Histories = ReferenceCloneFrom._Histories; this._Values = ReferenceCloneFrom._Values; this._AccessMode = AccessMode; }
/// <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)); }