public interface ICustomDiagnosticMessage : IMessage
A message type that has a custom string format for diagnostic purposes.
Namespace
Google.ProtobufAssembly
Google.Protobuf.dll
Remarks
Calling 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 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()
string ToDiagnosticString()
Returns a string representation of this object, for diagnostic purposes.
Returns | |
---|---|
Type | Description |
string |
A string representation of this object, for diagnostic purposes. |
This method is called when a message is formatted as part of a 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.