<PackageReference Include="Google.Protobuf" Version="3.36.2" />

Google.Protobuf.IExtendableMessage<T>

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.
void ClearExtension<TValue>(Extension<T, TValue> extension)

Clears the value of the specified extension

void ClearExtension<TValue>(RepeatedExtension<T, TValue> extension)

Clears the value of the specified repeated extension

TValue GetExtension<TValue>(Extension<T, TValue> extension)

Gets the value of the specified extension

RepeatedField<TValue> GetExtension<TValue>(RepeatedExtension<T, TValue> extension)

Gets the value of the specified repeated extension or null if the extension isn't registered in this set. For a version of this method that never returns null, use GetOrInitializeExtension<T>

RepeatedField<TValue> GetOrInitializeExtension<TValue>(RepeatedExtension<T, TValue> extension)

Gets the value of the specified repeated extension, registering it if it hasn't already been registered.

bool HasExtension<TValue>(Extension<T, TValue> extension)

Gets whether the value of the specified extension is set

void SetExtension<TValue>(Extension<T, TValue> extension, TValue value)

Sets the value of the specified extension