Class ExtensionSet (3.27.1) 
  
  
  
   
  
    
  
  
    
    
    
    
  Version latestkeyboard_arrow_down  
  
 
    
    
    
    
    
    
      
  
  
  
    
public static class ExtensionSet 
  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.
    Inheritance 
    object  >  
    ExtensionSet 
   
  
  Namespace 
  Google.Protobuf 
  Assembly 
  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
    
      
        Type Parameters  
      
        Name Description  
      
        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
    
      
        Type Parameters  
      
        Name Description  
      
        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
    
      
        Type Parameter  
      
        Name Description  
      
        TTarget 
     
  
  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
    
      
        Type Parameters  
      
        Name Description  
      
        TTarget 
      
        TValue 
     
  
  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
    
      
        Returns  
      
        Type Description  
      
        TValue  
     
  
  
    
      
        Type Parameters  
      
        Name Description  
      
        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
    
      
        Type Parameters  
      
        Name Description  
      
        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
    
      
        Returns  
      
        Type Description  
      
        bool  
     
  
  
    
      
        Type Parameters  
      
        Name Description  
      
        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
    
      
        Type Parameter  
      
        Name Description  
      
        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.
    
      
        Type Parameters  
      
        Name Description  
      
        TTarget 
      
        TValue 
     
  
  
    
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.
    
      
        Returns  
      
        Type Description  
      
        bool  
     
  
  
    
      
        Type Parameter  
      
        Name Description  
      
        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.
    
      
        Returns  
      
        Type Description  
      
        bool  
     
  
  
    
      
        Type Parameter  
      
        Name Description  
      
        TTarget 
     
  
 
     
    
  
  
  
     
  
    
    
      
       
    
    
  
  
 
  Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
  Last updated 2025-10-10 UTC.
 
 
  
  
  
    
      [[["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-10-10 UTC."],[],[]]