Interface ICustomDiagnosticMessage
A message type that has a custom string format for diagnostic purposes.
Inherited Members
Namespace: Google.Protobuf
Assembly: Google.Protobuf.dll
Syntax
public interface ICustomDiagnosticMessage : IMessage
Remarks
Calling System.Object.ToString() on a generated message type normally
returns the JSON representation. If a message type implements this interface,
then the ToDiagnosticString() method will be called instead of the regular
JSON formatting code, but only when ToString()
is called either on the message itself
or on another message which contains it. This does not affect the normal JSON formatting of
the message.
For example, if you create a proto message representing a GUID, the internal
representation may be a bytes
field or four fixed32
fields. However, when debugging
it may be more convenient to see a result in the same format as System.Guid provides.
This interface extends IMessage to avoid it accidentally being implemented on types other than messages, where it would not be used by anything in the framework.
Methods
ToDiagnosticString()
Returns a string representation of this object, for diagnostic purposes.
Declaration
string ToDiagnosticString()
Returns
Type | Description |
---|---|
System.String | A string representation of this object, for diagnostic purposes. |
Remarks
This method is called when a message is formatted as part of a System.Object.ToString() call. It does not affect the JSON representation used by JsonFormatter other than in calls to ToDiagnosticString(IMessage). While it is recommended that the result is valid JSON, this is never assumed by the Protobuf library.