public interface IExtendableMessage<T> : IMessage<T>, IMessage, IEquatable<T>, IDeepCloneable<T> where T : IExtendableMessage<T>
Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class.
This interface is experiemental and is subject to change.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document outlines the \u003ccode\u003eIExtendableMessage<T>\u003c/code\u003e interface, a generic interface for Protocol Buffers messages that support extensions, and it is considered experimental and subject to change.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eIExtendableMessage<T>\u003c/code\u003e interface inherits from \u003ccode\u003eIMessage<T>\u003c/code\u003e, \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable<T>\u003c/code\u003e, and \u003ccode\u003eIDeepCloneable<T>\u003c/code\u003e, and requires that the type parameter \u003ccode\u003eT\u003c/code\u003e be the same type as the implementation class.\u003c/p\u003e\n"],["\u003cp\u003eThe interface provides methods to manage extensions, including \u003ccode\u003eClearExtension\u003c/code\u003e, \u003ccode\u003eGetExtension\u003c/code\u003e, \u003ccode\u003eGetOrInitializeExtension\u003c/code\u003e, \u003ccode\u003eHasExtension\u003c/code\u003e, and \u003ccode\u003eSetExtension\u003c/code\u003e for both standard and repeated extensions.\u003c/p\u003e\n"],["\u003cp\u003eIt includes inherited members from parent interfaces such as \u003ccode\u003eMergeFrom\u003c/code\u003e, \u003ccode\u003eWriteTo\u003c/code\u003e, \u003ccode\u003eCalculateSize\u003c/code\u003e, \u003ccode\u003eDescriptor\u003c/code\u003e, \u003ccode\u003eEquals\u003c/code\u003e, and \u003ccode\u003eClone\u003c/code\u003e, which are essential for working with Protocol Buffers messages.\u003c/p\u003e\n"],["\u003cp\u003eThe document details the namespace as \u003ccode\u003eGoogle.Protobuf\u003c/code\u003e and the assembly as \u003ccode\u003eGoogle.Protobuf.dll\u003c/code\u003e, alongside numerous extension methods found in \u003ccode\u003eMessageExtensions\u003c/code\u003e for tasks like merging, converting, writing, and checking if a message is initialized.\u003c/p\u003e\n"]]],[],null,[]]