コード例 #1
0
        protected override void OnSetReadOnly(ReadOnlyStateTag previousState, ReadOnlyStateTag newState)
        {
            this.EnsureChangeToPermanentReadOnly(newState: newState);
            //
            base.OnSetReadOnly(previousState: previousState, newState: newState);
            //
            IReadOnlyScope metadataAsReadOnlyScope = ReadDA(ref _metadataLink, considerDisposeRequest: true)?.Target.Value;

            metadataAsReadOnlyScope?.SetReadOnly(isReadOnly: newState.IsReadOnly, isPermanent: newState.IsPermanent);
        }
コード例 #2
0
        protected override void OnSetReadOnly(ReadOnlyStateTag previousState, ReadOnlyStateTag newState)
        {
            this.EnsureChangeToPermanentReadOnly(newState: newState);
            //
            base.OnSetReadOnly(previousState, newState);
            //
            IReadOnlyScope metadataElementAsReadOnlyScope = ReadDA(ref _metadataElement, considerDisposeRequest: true);

            metadataElementAsReadOnlyScope?.SetReadOnly(isReadOnly: newState.IsReadOnly, isPermanent: newState.IsPermanent);
            //
            foreach (var childNode in EnumerateDA(ReadDA(ref _children, considerDisposeRequest: true), considerDisposeRequest: true).OfType <IReadOnlyScope>())
            {
                childNode.SetReadOnly(isReadOnly: newState.IsReadOnly, isPermanent: newState.IsPermanent);
            }
            //
            foreach (var inclusion in EnumerateDA(ReadDA(ref _inclusions, considerDisposeRequest: true), considerDisposeRequest: true).OfType <IReadOnlyScope>())
            {
                inclusion.SetReadOnly(isReadOnly: newState.IsReadOnly, isPermanent: newState.IsPermanent);
            }
        }