Как Использовать класс XDocument в Проекте Silverlight (C#)

Как уже отмечали другие, вы можете иметь оператор if внутри блока catch, чтобы определить, что происходит. C # 6 поддерживает фильтры исключений, поэтому будет работать следующее:

try { … }
catch (Exception e) when (MyFilter(e))
{
    …
}

Затем метод MyFilter может выглядеть примерно так:

private bool MyFilter(Exception e)
{
  return e is ArgumentNullException || e is FormatException;
}

В качестве альтернативы, все это можно сделать inline (правая часть оператора when просто должна быть логическим выражением).

try { … }
catch (Exception e) when (e is ArgumentNullException || e is FormatException)
{
    …
}

Это отличается от использования оператора if внутри блока catch, использование фильтров исключений не будет разматывать стек.

Вы можете загрузить Visual Studio 2015 , чтобы проверить это.

Если вы хотите продолжить использование Visual Studio 2013, вы можете установить следующий пакет nuget:

Install-Package Microsoft.Net.Compilers

На момент написания, это будет включать поддержку C # 6.

Ссылка на этот пакет приведет к тому, что проект будет построен с использованием конкретной версии компиляторов C # и Visual Basic, содержащихся в пакете, в отличие от любой установленной версии системы.

5
задан Greg Zwaagstra 21 June 2009 в 12:45
поделиться

2 ответа

По умолчанию проект Silverlight будет содержать dll System.Xml, однако XDcoument содержится в dll System.Xml.Linq, его необходимо добавить в свой проект.

9
ответ дан 13 December 2019 в 05:41
поделиться

Убедитесь, что вы добавили ссылку на соответствующую библиотеку XML

  • Для XMLDocument, XMLReader и т.д ...: System.Xml.Dll
  • Для XDocument, XNode и т.д ...: System.Xml.Linq.dll
3
ответ дан 13 December 2019 в 05:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: