コード例 #1
0
            /// <summary>
            /// Removes all keys and values from the <see cref="
            /// EditorDictionary"/>.
            /// </summary>
            public void Clear()
            {
                var values = new List <IEditor>(Values);

                Editors.Clear();
                foreach (var value in values)
                {
                    var e = new EditorEventArgs(value);
                    EditorSelector.OnEditorRemoved(e);
                }
            }
コード例 #2
0
            /// <inheritdoc/>
            ///
            bool ICollection <PathEditorPair> .Remove(PathEditorPair item)
            {
                var itemWithActualKey = new PathEditorPair(
                    GetFullPath(item.Key),
                    item.Value);

                if (IDictionary.Remove(itemWithActualKey))
                {
                    var e = new EditorEventArgs(item.Value);
                    EditorSelector.OnEditorRemoved(e);
                    return(true);
                }

                return(false);
            }
コード例 #3
0
            /// <summary>
            /// Removes the <see cref="IEditor"/> with the specified file path
            /// key.
            /// </summary>
            /// <param name="key">
            /// The file path of the <see cref="IEditor"/> to remove.
            /// </param>
            /// <returns>
            /// <see langword="true"/> if the <see cref="IEditor"/> is
            /// successfully found and removed; otherwise <see
            /// langword="false"/>.
            /// </returns>
            /// <exception cref="ArgumentException">
            /// <paramref name="key"/> is a zero-length string, contains only
            /// whitespace, or contains one or more of the invalid characters
            /// defined in <see cref=" GetInvalidPathChars"/>.
            /// <para/>
            /// -or-
            /// <para/>
            /// The system could not retrieve the absolute path.
            /// </exception>
            /// <exception cref="System.Security.SecurityException">
            /// The caller does not have the required permissions.
            /// </exception>
            /// <exception cref="ArgumentNullException">
            /// <paramref name="key"/> is <see langword="null"/>.
            /// </exception>
            /// <exception cref="NotSupportedException">
            /// <paramref name="key"/> contains a colon (":") that is not part
            /// of a volume identifier (for example, "c:\").
            /// </exception>
            /// <exception cref="System.IO.PathTooLongException">
            /// The specified path, file name, or both exceed the
            /// system-defined maximum length.
            /// </exception>
            public bool Remove(string key)
            {
                var actualKey = GetFullPath(key);

                if (Editors.TryGetValue(actualKey, out var value))
                {
                    Editors.Remove(actualKey);

                    var e = new EditorEventArgs(value);
                    EditorSelector.OnEditorRemoved(e);
                    return(true);
                }

                return(false);
            }