У меня есть XML-файл, подобный этому:
<?xml version="1.0" encoding="utf-8"?>
<EffectFile>
<Effects>
<Effect>
<Type>Blur</Type>
</Effect>
<Effect>
<Type>Sharpen</Type>
</Effect>
<Effect>
<Type>Zoom</Type>
<Options>
<Option>88</Option>
<Option>"miles"</Option>
</Options>
</Effect>
</Effects>
</EffectFile>
, который я анализирую следующим образом:
xElement.Elements ( "Effects" ).Elements ( "Effect" ).Select (
e => new Effect (
( EffectType ) Enum.Parse ( typeof ( EffectType ), ( string ) e.Elements ( "Type" ).FirstOrDefault ( ) ),
e.Elements ( "Options" ).Select ( p => ( object ) p.Elements ( "Option" ) ) ) );
Но с этой версией каждая Effect
получает как минимум пустоеEffectOptions
значение.Есть ли способ указать, если для Effect
нет секции Options
, значение должно быть собрано как нулевое?
Тип Effect
имеет конструктор, подобный этому:
new Effect (EffectType type, EffectOptions options)
так что просто хотите передать ноль во второй параметр, если нет секции Options
.