using System; using System.Collections.Generic; using System.Text; namespace Google.ProtocolBuffers.FieldAccess { internal interface IFieldAccessor where TMessage : IMessage where TBuilder : IBuilder { void AddRepeated(IBuilder builder, object value); bool Has(IMessage message); int GetRepeatedCount(IMessage message); void Clear(TBuilder builder); TBuilder CreateBuilder(); /// /// Accessor for single fields /// object this[IMessage message] { get; } /// /// Mutator for single fields /// object this[IBuilder builder] { set; } /// /// Accessor for repeated fields /// object this[IMessage message, int index] { get; } /// /// Mutator for repeated fields /// object this[IBuilder builder, int index] { set; } } }