gli extension methods possono essere utili per migliorare la lettura del codice, ad esempio nel caso di XML con attributi facoltativi:

public static class ConversionExtension
{
public static String GetSPValue(this XAttribute attribute)
{
return attribute == null ? null : attribute.Value;
}

public static bool? GetBooleanSPValue(this XAttribute attribute)
{
return attribute == null ? null : new Nullable<Boolean>(Boolean.Parse(attribute.Value));
}
}

 

esempio d’uso:

bool? fillInChoice = result.Attribute("FillInChoice").GetBooleanSPValue();

 

si SP sta per SharePoint infatti il CAML prevede l’omissione di alcuni attributi.