gpt4 book ai didi

c# - 是否可以为 XAttribute 和 XElement 编写方法?

转载 作者:数据小太阳 更新时间:2023-10-29 02:25:48 24 4
gpt4 key购买 nike

XAttributeXElement 都派生自 XObject 类型。

两者都有一个 Value 属性。

到目前为止,这就是我想做的事情:

string FooMyXObject( XObject bar ){
if ( bar.NodeType == NodeType.Element )
return ( bar as XElement ).Value;
else if ( bar.NodeType == NodeType.XAttribute )
return ( bar as XAttribute ).Value;
else
throw new Exception( "Generic Fail Message" );
}

这感觉很笨重。我希望有一些方法可以使它不那么笨重。从 XObject 访问 Value 属性的某种方式,因为它们都有一个字符串属性名称 Value

这可能吗,还是我只是被迫以这种笨拙的方式来做?

最佳答案

您可以将 bar 转换为 dynamic 以避免单独的分支:

string FooMyXObject( XObject bar ){
if (bar.NodeType == NodeType.Element || bar.NodeType == NodeType.XAttribute)
return ((dynamic)bar).Value;
else
throw new Exception( "Generic Fail Message" );
}

关于c# - 是否可以为 XAttribute 和 XElement 编写方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41009454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com