public DiagnosticInfo ReadDiagnosticInfo(string fieldName)
{
object token = null;
if (!ReadField(fieldName, out token))
{
return null;
}
var value = token as Dictionary<string, object>;
if (value == null)
{
return null;
}
try
{
m_stack.Push(value);
DiagnosticInfo di = new DiagnosticInfo();
if (value.ContainsKey("SymbolicId"))
{
di.SymbolicId = ReadInt32("SymbolicId");
}
if (value.ContainsKey("NamespaceUri"))
{
di.NamespaceUri = ReadInt32("NamespaceUri");
}
if (value.ContainsKey("Locale"))
{
di.Locale = ReadInt32("Locale");
}
if (value.ContainsKey("LocalizedText"))
{
di.LocalizedText = ReadInt32("LocalizedText");
}
if (value.ContainsKey("AdditionalInfo"))
{
di.AdditionalInfo = ReadString("AdditionalInfo");
}
if (value.ContainsKey("InnerStatusCode"))
{
di.InnerStatusCode = ReadStatusCode("InnerStatusCode");
}
if (value.ContainsKey("InnerDiagnosticInfo"))
{
di.InnerDiagnosticInfo = ReadDiagnosticInfo("InnerDiagnosticInfo");
}
return di;
}
finally
{
m_stack.Pop();
}
}