GeneratedSingleExtension.cs 938 B

1234567891011121314151617181920212223242526
  1. using System;
  2. using Google.ProtocolBuffers.Descriptors;
  3. namespace Google.ProtocolBuffers {
  4. /// <summary>
  5. /// Generated extension for a singular field.
  6. /// </remarks>
  7. public class GeneratedSingleExtension<TContainer, TExtension> : GeneratedExtensionBase<TContainer, TExtension>
  8. where TContainer : IMessage<TContainer> {
  9. internal GeneratedSingleExtension(FieldDescriptor descriptor) : base(descriptor, typeof(TExtension)) {
  10. }
  11. public static GeneratedSingleExtension<TContainer, TExtension> CreateInstance(FieldDescriptor descriptor) {
  12. if (descriptor.IsRepeated) {
  13. throw new ArgumentException("Must call GeneratedRepeateExtension.CreateInstance() for repeated types.");
  14. }
  15. return new GeneratedSingleExtension<TContainer, TExtension>(descriptor);
  16. }
  17. public override object FromReflectionType(object value) {
  18. return base.SingularFromReflectionType(value);
  19. }
  20. }
  21. }