/// <summary> /// Clears an extension. /// </summary> public TBuilder ClearExtension <TExtension>(GeneratedExtensionBase <TExtension> extension) { ExtendableMessage <TMessage, TBuilder> message = MessageBeingBuilt; message.VerifyExtensionContainingType(extension); message.Extensions.ClearField(extension.Descriptor); return(ThisBuilder); }
/// <summary> /// Sets the value of an extension. /// </summary> public TBuilder SetExtension <TExtension>(GeneratedExtensionBase <TExtension> extension, TExtension value) { ExtendableMessage <TMessage, TBuilder> message = MessageBeingBuilt; message.VerifyExtensionContainingType(extension); message.Extensions[extension.Descriptor] = extension.ToReflectionType(value); return(ThisBuilder); }
/// <summary> /// Appends a value to a repeated extension. /// </summary> public TBuilder AddExtension <TExtension>(GeneratedExtensionBase <IList <TExtension> > extension, TExtension value) { ExtendableMessage <TMessage, TBuilder> message = MessageBeingBuilt; message.VerifyExtensionContainingType(extension); message.Extensions.AddRepeatedField(extension.Descriptor, extension.SingularToReflectionType(value)); return(ThisBuilder); }