XAttribute
和XElement
都源自XObject
類型。是否可以爲XAttribute和XElement編寫一個方法?
兩者都有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
。
這是可能的,還是我只是被迫以如此笨拙的方式去做?
['XText'](https://msdn.microsoft.com/en-us/library/system.xml.linq.xtext(v = vs.110).aspx)和['XComment'](https ://msdn.microsoft.com/en-us/library/system.xml.linq.xcomment(v = vs.110).aspx)也有一個沒有公共基類的Value屬性。真的有點煩人。這正是「IHasValue」接口適合的情況。 – dbc