Skip to content

Instantly share code, notes, and snippets.

@mistersourcerer
Created December 4, 2009 12:03
Show Gist options
  • Save mistersourcerer/248993 to your computer and use it in GitHub Desktop.
Save mistersourcerer/248993 to your computer and use it in GitHub Desktop.
/* After: */
// ...
if (isNodeContent)
{
writer.WriteStartElement(name);
writer.WriteValue(item);
writer.WriteEndElement();
}
else if (isFromLinq)
{
writer.WriteStartElement(name);
ParseLinqList(item)
writer.WriteEndElement();
}
else
{
writer.WriteStartElement(name);
ParseObject(item);
writer.WriteEndElement();
}
// ...
/* Before: */
private void CreateElement(string name, Action value)
{
writer.WriteStartElement(name);
value();
writer.WriteEndElement();
}
private void AnotherMethod(object o)
{
// ...
Action toCreateElement = null;
if (isNodeContent)
toCreateElement = () => writer.WriteValue(item);
else if (isFromLinq)
toCreateElement = () => ParseLinqList(item);
else
toCreateElement = () => ParseObject(item);
// ...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment