public override GetChatroomMemberDetailResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(GetChatroomMemberDetailResponse._getChatroomMemberDetailResponseFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = GetChatroomMemberDetailResponse._getChatroomMemberDetailResponseFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { BaseResponse.Builder builder = BaseResponse.CreateBuilder(); if (this.result.hasBaseResponse) { builder.MergeFrom(this.BaseResponse); } input.ReadMessage(builder, extensionRegistry); this.BaseResponse = builder.BuildPartial(); continue; } case 0x12: { this.result.hasChatroomUserName = input.ReadString(ref this.result.chatroomUserName_); continue; } case 0x18: { this.result.hasServerVersion = input.ReadUInt32(ref this.result.serverVersion_); continue; } case 0x22: { ChatRoomMemberData.Builder builder2 = ChatRoomMemberData.CreateBuilder(); if (this.result.hasNewChatroomData) { builder2.MergeFrom(this.NewChatroomData); } input.ReadMessage(builder2, extensionRegistry); this.NewChatroomData = builder2.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }