Ошибка определения XPathResultType? - PullRequest
2 голосов
/ 03 февраля 2012

Определение перечисления XPathResultType в .NET Framework дает то же значение (1) для «String», что и для «Navigator».Конечно, это не может быть правильно?Что дает?

Я реализую некоторую пользовательскую функцию XPath и пытаюсь написать единственный метод для проверки аргументов моих функций на основе объявленного XPathResultType каждого аргумента.Тем не менее, я озадачен тем, как я должен учитывать это совпадение ...


#region Assembly System.Xml.dll, v4.0.30319
// C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Xml.dll
#endregion

using System;

namespace System.Xml.XPath
{
    // Summary:
    //     Specifies the return type of the XPath expression.
    public enum XPathResultType
    {
        // Summary:
        //     A numeric value.
        Number = 0,
        //
        // Summary:
        //     A System.String value.
        String = 1,
        //
        // Summary:
        //     A tree fragment.
        Navigator = 1,
        //
        // Summary:
        //     A System.Booleantrue or false value.
        Boolean = 2,
        //
        // Summary:
        //     A node collection.
        NodeSet = 3,
        //
        // Summary:
        //     Any of the XPath node types.
        Any = 5,
        //
        // Summary:
        //     The expression does not evaluate to the correct XPath type.
        Error = 6,
    }
}

1 Ответ

3 голосов
/ 03 февраля 2012

В Microsoft Connect существует закрытая проблема: https://connect.microsoft.com/VisualStudio/feedback/details/97578/both-xpathresulttype-string-and-xpathresulttype-navigator-are-1

Ответ от Microsoft:

Перекрывающие значения перечисления являются известной проблемой.Обходной путь - никогда не использовать значение XPathResultType.Navigator и всегда использовать XPathResultType.NodeSet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...