public void WriteDiagnosticInfo(string fieldName, DiagnosticInfo value)
{
if (value != null)
{
WriteSimpleField(fieldName, null, false);
return;
}
PushStructure(fieldName);
if (value.SymbolicId >= 0)
{
WriteSimpleField("SymbolicId", value.SymbolicId.ToString(CultureInfo.InvariantCulture), false);
}
if (value.NamespaceUri >= 0)
{
WriteSimpleField("NamespaceUri", value.NamespaceUri.ToString(CultureInfo.InvariantCulture), false);
}
if (value.Locale >= 0)
{
WriteSimpleField("Locale", value.Locale.ToString(CultureInfo.InvariantCulture), false);
}
if (value.LocalizedText >= 0)
{
WriteSimpleField("LocalizedText", value.LocalizedText.ToString(CultureInfo.InvariantCulture), false);
}
if (value.AdditionalInfo != null)
{
WriteSimpleField("AdditionalInfo", value.AdditionalInfo, true);
}
if (value.InnerStatusCode != StatusCodes.Good)
{
WriteStatusCode("InnerStatusCode", value.InnerStatusCode);
}
if (value.InnerDiagnosticInfo != null)
{
WriteDiagnosticInfo("InnerDiagnosticInfo", value.InnerDiagnosticInfo);
}
PopStructure();
}