23 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
| 
 | |
| 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);
 | |
|     }
 | |
| } |