public static class ExtensionSet : object
Methods for managing ExtensionSet<TTarget> s with null checking.
Most users will not use this class directly and its API is experimental and subject to change.
Namespace
Google.ProtobufAssembly
Google.Protobuf.dll
Methods
Clear<TTarget, TValue>(ref ExtensionSet<TTarget>, Extension<TTarget, TValue>)
public static void Clear<TTarget, TValue>(ref ExtensionSet<TTarget> set, Extension<TTarget, TValue> extension)
where TTarget : IExtendableMessage<TTarget>
Clears the value of the specified extension
TTarget
TValue
Clear<TTarget, TValue>(ref ExtensionSet<TTarget>, RepeatedExtension<TTarget, TValue>)
public static void Clear<TTarget, TValue>(ref ExtensionSet<TTarget> set, RepeatedExtension<TTarget, TValue> extension)
where TTarget : IExtendableMessage<TTarget>
Clears the value of the specified extension
set
ExtensionSet
<TTarget>
extension
RepeatedExtension
<TTarget, TValue>
TTarget
TValue
Clone<TTarget>(ExtensionSet<TTarget>)
public static ExtensionSet<TTarget> Clone<TTarget>(ExtensionSet<TTarget> set)
where TTarget : IExtendableMessage<TTarget>
Clones the set into a new set. If the set is null, this returns null
TTarget
Get<TTarget, TValue>(ref ExtensionSet<TTarget>, Extension<TTarget, TValue>)
public static TValue Get<TTarget, TValue>(ref ExtensionSet<TTarget> set, Extension<TTarget, TValue> extension)
where TTarget : IExtendableMessage<TTarget>
Gets the value of the specified extension
TValue
TTarget
TValue
Get<TTarget, TValue>(ref ExtensionSet<TTarget>, RepeatedExtension<TTarget, TValue>)
public static RepeatedField<TValue> Get<TTarget, TValue>(ref ExtensionSet<TTarget> set, RepeatedExtension<TTarget, TValue> extension)
where TTarget : IExtendableMessage<TTarget>
Gets the value of the specified repeated extension or null if it doesn't exist in this set
set
ExtensionSet
<TTarget>
extension
RepeatedExtension
<TTarget, TValue>
TTarget
TValue
GetOrInitialize<TTarget, TValue>(ref ExtensionSet<TTarget>, RepeatedExtension<TTarget, TValue>)
public static RepeatedField<TValue> GetOrInitialize<TTarget, TValue>(ref ExtensionSet<TTarget> set, RepeatedExtension<TTarget, TValue> extension)
where TTarget : IExtendableMessage<TTarget>
Gets the value of the specified repeated extension, registering it if it doesn't exist
set
ExtensionSet
<TTarget>
extension
RepeatedExtension
<TTarget, TValue>
TTarget
TValue
Has<TTarget, TValue>(ref ExtensionSet<TTarget>, Extension<TTarget, TValue>)
public static bool Has<TTarget, TValue>(ref ExtensionSet<TTarget> set, Extension<TTarget, TValue> extension)
where TTarget : IExtendableMessage<TTarget>
Gets whether the value of the specified extension is set
TTarget
TValue
MergeFrom<TTarget>(ref ExtensionSet<TTarget>, ExtensionSet<TTarget>)
public static void MergeFrom<TTarget>(ref ExtensionSet<TTarget> first, ExtensionSet<TTarget> second)
where TTarget : IExtendableMessage<TTarget>
Merges the second set into the first set, creating a new instance if first is null
TTarget
Set<TTarget, TValue>(ref ExtensionSet<TTarget>, Extension<TTarget, TValue>, TValue)
public static void Set<TTarget, TValue>(ref ExtensionSet<TTarget> set, Extension<TTarget, TValue> extension, TValue value)
where TTarget : IExtendableMessage<TTarget>
Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null.
set
ExtensionSet
<TTarget>
extension
Extension
<TTarget, TValue>
value
TValue
TTarget
TValue
TryMergeFieldFrom<TTarget>(ref ExtensionSet<TTarget>, CodedInputStream)
public static bool TryMergeFieldFrom<TTarget>(ref ExtensionSet<TTarget> set, CodedInputStream stream)
where TTarget : IExtendableMessage<TTarget>
Tries to merge a field from the coded input, returning true if the field was merged. If the set is null or the field was not otherwise merged, this returns false.
TTarget
TryMergeFieldFrom<TTarget>(ref ExtensionSet<TTarget>, ref ParseContext)
public static bool TryMergeFieldFrom<TTarget>(ref ExtensionSet<TTarget> set, ref ParseContext ctx)
where TTarget : IExtendableMessage<TTarget>
Tries to merge a field from the coded input, returning true if the field was merged. If the set is null or the field was not otherwise merged, this returns false.
TTarget