<PackageReference Include="Relativity.OutsideIn" Version="2021.10.2" />

ExtensionSet

public static class ExtensionSet
public static void Clear<TTarget, TValue>(ref ExtensionSet set, Extension<TTarget, TValue> extension) where TTarget : class, IExtendableMessage<TTarget>

public static void Clear<TTarget, TValue>(ref ExtensionSet set, RepeatedExtension<TTarget, TValue> extension) where TTarget : class, IExtendableMessage<TTarget>

public static ExtensionSet<TTarget> Clone<TTarget>(ExtensionSet<TTarget> set) where TTarget : class, IExtendableMessage<TTarget>

public static TValue Get<TTarget, TValue>(ref ExtensionSet set, Extension<TTarget, TValue> extension) where TTarget : class, IExtendableMessage<TTarget>

public static RepeatedField<TValue> Get<TTarget, TValue>(ref ExtensionSet set, RepeatedExtension<TTarget, TValue> extension) where TTarget : class, IExtendableMessage<TTarget>

public static RepeatedField<TValue> GetOrInitialize<TTarget, TValue>(ref ExtensionSet set, RepeatedExtension<TTarget, TValue> extension) where TTarget : class, IExtendableMessage<TTarget>

public static bool Has<TTarget, TValue>(ref ExtensionSet set, Extension<TTarget, TValue> extension) where TTarget : class, IExtendableMessage<TTarget>

public static void MergeFrom<TTarget>(ref ExtensionSet first, ExtensionSet<TTarget> second) where TTarget : class, IExtendableMessage<TTarget>

public static void Set<TTarget, TValue>(ref ExtensionSet set, Extension<TTarget, TValue> extension, TValue value) where TTarget : class, IExtendableMessage<TTarget>

public static bool TryMergeFieldFrom<TTarget>(ref ExtensionSet set, CodedInputStream stream) where TTarget : class, IExtendableMessage<TTarget>

public static bool TryMergeFieldFrom<TTarget>(ref ExtensionSet set, ref ParseContext ctx) where TTarget : class, IExtendableMessage<TTarget>