XElement明確支持將結果轉換爲空值<int>但它不能正常工作。下面的單元測試演示了這個問題:將XElement轉換爲int?當指定xsi:nil =「true」時失敗
[TestMethod]
public void CastingNullableInt()
{
var xdoc = XDocument.Parse("<root xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><okay>123</okay><boom xsi:nil=\"true\"/></root>");
Assert.AreEqual(123, (int?)xdoc.Root.Element("okay"));
Assert.IsNull((int?)xdoc.Root.Element("boom"));
}
測試應該通過最後的斷言。相反,它給出FormatException
:
輸入字符串格式不正確。
爲什麼不在這裏正確解析null
?
定義 –
我期望單元測試通過「不按預期工作」。我怎麼可能做得更清楚? –
@PatrickHofman感謝您改善我的問題! –