XPathResultType定义错误?

时间:2012-02-03 17:16:14

标签: c# .net xml xslt xpath

.NET框架中XPathResultType枚举的定义给“String”赋予与“Navigator”相同的值(1)。当然那不可能是对的吗?是什么给了什么?

我正在实现一些自定义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 个答案:

答案 0 :(得分:3)

Microsoft Connect上存在已解决的问题:https://connect.microsoft.com/VisualStudio/feedback/details/97578/both-xpathresulttype-string-and-xpathresulttype-navigator-are-1

微软的回答:

  

重叠的枚举值是一个已知问题。解决方法是   永远不要使用XPathResultType.Navigator值并始终使用   XPathResultType.NodeSet