You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.0 KiB
28 lines
1.0 KiB
3 years ago
|
|
||
|
namespace ProtoBuf
|
||
|
{
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// Indicates that the implementing type has support for protocol-buffer
|
||
|
/// <see cref="IExtension">extensions</see>.
|
||
|
/// </summary>
|
||
|
/// <remarks>Can be implemented by deriving from Extensible.</remarks>
|
||
|
public interface IExtensible
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Retrieves the <see cref="IExtension">extension</see> object for the current
|
||
|
/// instance, optionally creating it if it does not already exist.
|
||
|
/// </summary>
|
||
|
/// <param name="createIfMissing">Should a new extension object be
|
||
|
/// created if it does not already exist?</param>
|
||
|
/// <returns>The extension object if it exists (or was created), or null
|
||
|
/// if the extension object does not exist or is not available.</returns>
|
||
|
/// <remarks>The <c>createIfMissing</c> argument is false during serialization,
|
||
|
/// and true during deserialization upon encountering unexpected fields.</remarks>
|
||
|
IExtension GetExtensionObject(bool createIfMissing);
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|