diff options
Diffstat (limited to 'csharp/src/ProtocolBuffers/FieldAccess/RepeatedFieldAccessor.cs')
-rw-r--r-- | csharp/src/ProtocolBuffers/FieldAccess/RepeatedFieldAccessor.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/csharp/src/ProtocolBuffers/FieldAccess/RepeatedFieldAccessor.cs b/csharp/src/ProtocolBuffers/FieldAccess/RepeatedFieldAccessor.cs new file mode 100644 index 00000000..aea721de --- /dev/null +++ b/csharp/src/ProtocolBuffers/FieldAccess/RepeatedFieldAccessor.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Google.Protobuf; + +namespace Google.Protobuf.FieldAccess +{ + /// <summary> + /// Accessor for repeated fields. + /// </summary> + /// <typeparam name="T">The type of message containing the field.</typeparam> + internal sealed class RepeatedFieldAccessor<T> : FieldAccessorBase<T> where T : IMessage<T> + { + internal RepeatedFieldAccessor(string name) : base(name) + { + } + + public override void Clear(T message) + { + IList list = (IList) GetValue(message); + list.Clear(); + } + + public override bool HasValue(T message) + { + throw new NotImplementedException("HasValue is not implemented for repeated fields"); + } + + public override void SetValue(T message, object value) + { + throw new NotImplementedException("SetValue is not implemented for repeated fields"); + } + + } +} |