示例#1
0
        public void MergeFrom(DateTime other)
        {
            if (other == null)
            {
                return;
            }
            if (other.Year != 0)
            {
                Year = other.Year;
            }
            if (other.Month != 0)
            {
                Month = other.Month;
            }
            if (other.Day != 0)
            {
                Day = other.Day;
            }
            if (other.Hours != 0)
            {
                Hours = other.Hours;
            }
            if (other.Minutes != 0)
            {
                Minutes = other.Minutes;
            }
            if (other.Seconds != 0)
            {
                Seconds = other.Seconds;
            }
            if (other.Nanos != 0)
            {
                Nanos = other.Nanos;
            }
            switch (other.TimeOffsetCase)
            {
            case TimeOffsetOneofCase.UtcOffset:
                if (UtcOffset == null)
                {
                    UtcOffset = new global::Google.Protobuf.WellKnownTypes.Duration();
                }
                UtcOffset.MergeFrom(other.UtcOffset);
                break;

            case TimeOffsetOneofCase.TimeZone:
                if (TimeZone == null)
                {
                    TimeZone = new global::Google.Type.TimeZone();
                }
                TimeZone.MergeFrom(other.TimeZone);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
示例#2
0
        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
                    break;

                case 8: {
                    Year = input.ReadInt32();
                    break;
                }

                case 16: {
                    Month = input.ReadInt32();
                    break;
                }

                case 24: {
                    Day = input.ReadInt32();
                    break;
                }

                case 32: {
                    Hours = input.ReadInt32();
                    break;
                }

                case 40: {
                    Minutes = input.ReadInt32();
                    break;
                }

                case 48: {
                    Seconds = input.ReadInt32();
                    break;
                }

                case 56: {
                    Nanos = input.ReadInt32();
                    break;
                }

                case 66: {
                    global::Google.Protobuf.WellKnownTypes.Duration subBuilder = new global::Google.Protobuf.WellKnownTypes.Duration();
                    if (timeOffsetCase_ == TimeOffsetOneofCase.UtcOffset)
                    {
                        subBuilder.MergeFrom(UtcOffset);
                    }
                    input.ReadMessage(subBuilder);
                    UtcOffset = subBuilder;
                    break;
                }

                case 74: {
                    global::Google.Type.TimeZone subBuilder = new global::Google.Type.TimeZone();
                    if (timeOffsetCase_ == TimeOffsetOneofCase.TimeZone)
                    {
                        subBuilder.MergeFrom(TimeZone);
                    }
                    input.ReadMessage(subBuilder);
                    TimeZone = subBuilder;
                    break;
                }
                }
            }
        }
示例#3
0
        public void MergeFrom(pb::CodedInputStream input)
        {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
            input.ReadRawMessage(this);
    #else
            uint tag;
            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                    break;

                case 8: {
                    Year = input.ReadInt32();
                    break;
                }

                case 16: {
                    Month = input.ReadInt32();
                    break;
                }

                case 24: {
                    Day = input.ReadInt32();
                    break;
                }

                case 32: {
                    Hours = input.ReadInt32();
                    break;
                }

                case 40: {
                    Minutes = input.ReadInt32();
                    break;
                }

                case 48: {
                    Seconds = input.ReadInt32();
                    break;
                }

                case 56: {
                    Nanos = input.ReadInt32();
                    break;
                }

                case 66: {
                    global::Google.Protobuf.WellKnownTypes.Duration subBuilder = new global::Google.Protobuf.WellKnownTypes.Duration();
                    if (timeOffsetCase_ == TimeOffsetOneofCase.UtcOffset)
                    {
                        subBuilder.MergeFrom(UtcOffset);
                    }
                    input.ReadMessage(subBuilder);
                    UtcOffset = subBuilder;
                    break;
                }

                case 74: {
                    global::Google.Type.TimeZone subBuilder = new global::Google.Type.TimeZone();
                    if (timeOffsetCase_ == TimeOffsetOneofCase.TimeZone)
                    {
                        subBuilder.MergeFrom(TimeZone);
                    }
                    input.ReadMessage(subBuilder);
                    TimeZone = subBuilder;
                    break;
                }
                }
            }
    #endif
        }