public static IEnumerable<FormatToken> Parse(string format)
{
var reader = new StringReader(format);
while (true)
{
var current = reader.Peek();
if (current == -1)
{
break;
}
var character = (char)current;
if (character == '{')
{
yield return ParseProperty(reader);
}
else
{
yield return ParseText(reader);
}
}
}