예제 #1
0
        /// <summary>
        /// Determines whether given <paramref name="node"/> is valid.
        /// </summary>
        /// <param name="node">Node to perform check on.</param>
        /// <returns><see langword="true"/> if node is valid; otherwise, <see langword="false"/>.</returns>
        /// <exception cref="ArgumentNullException"></exception>
        public static bool IsKnownNode([In] Fb2Node node)
        {
            if (node == null)
            {
                throw new ArgumentNullException(nameof(node));
            }

            var hasKnownName = IsKnownNodeName(node.Name);
            var hasKnownType = KnownNodes.ContainsValue(node.GetType());

            return(hasKnownName && hasKnownType);
        }