AddressBookProtos.cs 46 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160
  1. // Generated by ProtoGen, Version=2.4.1.555, Culture=neutral, PublicKeyToken=55f7125234beb589. DO NOT EDIT!
  2. #pragma warning disable 1591, 0612, 3021
  3. #region Designer generated code
  4. using pb = global::Google.ProtocolBuffers;
  5. using pbc = global::Google.ProtocolBuffers.Collections;
  6. using pbd = global::Google.ProtocolBuffers.Descriptors;
  7. using scg = global::System.Collections.Generic;
  8. namespace Google.ProtocolBuffers.Examples.AddressBook {
  9. [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  10. public static partial class AddressBookProtos {
  11. #region Extension registration
  12. public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
  13. }
  14. #endregion
  15. #region Static variables
  16. internal static pbd::MessageDescriptor internal__static_tutorial_Person__Descriptor;
  17. internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Examples.AddressBook.Person, global::Google.ProtocolBuffers.Examples.AddressBook.Person.Builder> internal__static_tutorial_Person__FieldAccessorTable;
  18. internal static pbd::MessageDescriptor internal__static_tutorial_Person_PhoneNumber__Descriptor;
  19. internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber, global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber.Builder> internal__static_tutorial_Person_PhoneNumber__FieldAccessorTable;
  20. internal static pbd::MessageDescriptor internal__static_tutorial_AddressBook__Descriptor;
  21. internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Examples.AddressBook.AddressBook, global::Google.ProtocolBuffers.Examples.AddressBook.AddressBook.Builder> internal__static_tutorial_AddressBook__FieldAccessorTable;
  22. #endregion
  23. #region Descriptor
  24. public static pbd::FileDescriptor Descriptor {
  25. get { return descriptor; }
  26. }
  27. private static pbd::FileDescriptor descriptor;
  28. static AddressBookProtos() {
  29. byte[] descriptorData = global::System.Convert.FromBase64String(
  30. string.Concat(
  31. "Chp0dXRvcmlhbC9hZGRyZXNzYm9vay5wcm90bxIIdHV0b3JpYWwaJGdvb2ds",
  32. "ZS9wcm90b2J1Zi9jc2hhcnBfb3B0aW9ucy5wcm90byLaAQoGUGVyc29uEgwK",
  33. "BG5hbWUYASACKAkSCgoCaWQYAiACKAUSDQoFZW1haWwYAyABKAkSKwoFcGhv",
  34. "bmUYBCADKAsyHC50dXRvcmlhbC5QZXJzb24uUGhvbmVOdW1iZXIaTQoLUGhv",
  35. "bmVOdW1iZXISDgoGbnVtYmVyGAEgAigJEi4KBHR5cGUYAiABKA4yGi50dXRv",
  36. "cmlhbC5QZXJzb24uUGhvbmVUeXBlOgRIT01FIisKCVBob25lVHlwZRIKCgZN",
  37. "T0JJTEUQABIICgRIT01FEAESCAoEV09SSxACIi8KC0FkZHJlc3NCb29rEiAK",
  38. "BnBlcnNvbhgBIAMoCzIQLnR1dG9yaWFsLlBlcnNvbkJFSAHCPkAKK0dvb2ds",
  39. "ZS5Qcm90b2NvbEJ1ZmZlcnMuRXhhbXBsZXMuQWRkcmVzc0Jvb2sSEUFkZHJl",
  40. "c3NCb29rUHJvdG9z"));
  41. pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
  42. descriptor = root;
  43. internal__static_tutorial_Person__Descriptor = Descriptor.MessageTypes[0];
  44. internal__static_tutorial_Person__FieldAccessorTable =
  45. new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Examples.AddressBook.Person, global::Google.ProtocolBuffers.Examples.AddressBook.Person.Builder>(internal__static_tutorial_Person__Descriptor,
  46. new string[] { "Name", "Id", "Email", "Phone", });
  47. internal__static_tutorial_Person_PhoneNumber__Descriptor = internal__static_tutorial_Person__Descriptor.NestedTypes[0];
  48. internal__static_tutorial_Person_PhoneNumber__FieldAccessorTable =
  49. new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber, global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber.Builder>(internal__static_tutorial_Person_PhoneNumber__Descriptor,
  50. new string[] { "Number", "Type", });
  51. internal__static_tutorial_AddressBook__Descriptor = Descriptor.MessageTypes[1];
  52. internal__static_tutorial_AddressBook__FieldAccessorTable =
  53. new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Examples.AddressBook.AddressBook, global::Google.ProtocolBuffers.Examples.AddressBook.AddressBook.Builder>(internal__static_tutorial_AddressBook__Descriptor,
  54. new string[] { "Person", });
  55. pb::ExtensionRegistry registry = pb::ExtensionRegistry.CreateInstance();
  56. RegisterAllExtensions(registry);
  57. global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.RegisterAllExtensions(registry);
  58. return registry;
  59. };
  60. pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
  61. new pbd::FileDescriptor[] {
  62. global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.Descriptor,
  63. }, assigner);
  64. }
  65. #endregion
  66. }
  67. #region Messages
  68. [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  69. public sealed partial class Person : pb::GeneratedMessage<Person, Person.Builder> {
  70. private Person() { }
  71. private static readonly Person defaultInstance = new Person().MakeReadOnly();
  72. private static readonly string[] _personFieldNames = new string[] { "email", "id", "name", "phone" };
  73. private static readonly uint[] _personFieldTags = new uint[] { 26, 16, 10, 34 };
  74. public static Person DefaultInstance {
  75. get { return defaultInstance; }
  76. }
  77. public override Person DefaultInstanceForType {
  78. get { return DefaultInstance; }
  79. }
  80. protected override Person ThisMessage {
  81. get { return this; }
  82. }
  83. public static pbd::MessageDescriptor Descriptor {
  84. get { return global::Google.ProtocolBuffers.Examples.AddressBook.AddressBookProtos.internal__static_tutorial_Person__Descriptor; }
  85. }
  86. protected override pb::FieldAccess.FieldAccessorTable<Person, Person.Builder> InternalFieldAccessors {
  87. get { return global::Google.ProtocolBuffers.Examples.AddressBook.AddressBookProtos.internal__static_tutorial_Person__FieldAccessorTable; }
  88. }
  89. #region Nested types
  90. [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  91. public static partial class Types {
  92. public enum PhoneType {
  93. MOBILE = 0,
  94. HOME = 1,
  95. WORK = 2,
  96. }
  97. [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  98. public sealed partial class PhoneNumber : pb::GeneratedMessage<PhoneNumber, PhoneNumber.Builder> {
  99. private PhoneNumber() { }
  100. private static readonly PhoneNumber defaultInstance = new PhoneNumber().MakeReadOnly();
  101. private static readonly string[] _phoneNumberFieldNames = new string[] { "number", "type" };
  102. private static readonly uint[] _phoneNumberFieldTags = new uint[] { 10, 16 };
  103. public static PhoneNumber DefaultInstance {
  104. get { return defaultInstance; }
  105. }
  106. public override PhoneNumber DefaultInstanceForType {
  107. get { return DefaultInstance; }
  108. }
  109. protected override PhoneNumber ThisMessage {
  110. get { return this; }
  111. }
  112. public static pbd::MessageDescriptor Descriptor {
  113. get { return global::Google.ProtocolBuffers.Examples.AddressBook.AddressBookProtos.internal__static_tutorial_Person_PhoneNumber__Descriptor; }
  114. }
  115. protected override pb::FieldAccess.FieldAccessorTable<PhoneNumber, PhoneNumber.Builder> InternalFieldAccessors {
  116. get { return global::Google.ProtocolBuffers.Examples.AddressBook.AddressBookProtos.internal__static_tutorial_Person_PhoneNumber__FieldAccessorTable; }
  117. }
  118. public const int NumberFieldNumber = 1;
  119. private bool hasNumber;
  120. private string number_ = "";
  121. public bool HasNumber {
  122. get { return hasNumber; }
  123. }
  124. public string Number {
  125. get { return number_; }
  126. }
  127. public const int TypeFieldNumber = 2;
  128. private bool hasType;
  129. private global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneType type_ = global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneType.HOME;
  130. public bool HasType {
  131. get { return hasType; }
  132. }
  133. public global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneType Type {
  134. get { return type_; }
  135. }
  136. public override bool IsInitialized {
  137. get {
  138. if (!hasNumber) return false;
  139. return true;
  140. }
  141. }
  142. public override void WriteTo(pb::ICodedOutputStream output) {
  143. CalcSerializedSize();
  144. string[] field_names = _phoneNumberFieldNames;
  145. if (hasNumber) {
  146. output.WriteString(1, field_names[0], Number);
  147. }
  148. if (hasType) {
  149. output.WriteEnum(2, field_names[1], (int) Type, Type);
  150. }
  151. UnknownFields.WriteTo(output);
  152. }
  153. private int memoizedSerializedSize = -1;
  154. public override int SerializedSize {
  155. get {
  156. int size = memoizedSerializedSize;
  157. if (size != -1) return size;
  158. return CalcSerializedSize();
  159. }
  160. }
  161. private int CalcSerializedSize() {
  162. int size = memoizedSerializedSize;
  163. if (size != -1) return size;
  164. size = 0;
  165. if (hasNumber) {
  166. size += pb::CodedOutputStream.ComputeStringSize(1, Number);
  167. }
  168. if (hasType) {
  169. size += pb::CodedOutputStream.ComputeEnumSize(2, (int) Type);
  170. }
  171. size += UnknownFields.SerializedSize;
  172. memoizedSerializedSize = size;
  173. return size;
  174. }
  175. public static PhoneNumber ParseFrom(pb::ByteString data) {
  176. return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
  177. }
  178. public static PhoneNumber ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
  179. return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
  180. }
  181. public static PhoneNumber ParseFrom(byte[] data) {
  182. return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
  183. }
  184. public static PhoneNumber ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
  185. return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
  186. }
  187. public static PhoneNumber ParseFrom(global::System.IO.Stream input) {
  188. return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
  189. }
  190. public static PhoneNumber ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
  191. return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
  192. }
  193. public static PhoneNumber ParseDelimitedFrom(global::System.IO.Stream input) {
  194. return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
  195. }
  196. public static PhoneNumber ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
  197. return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
  198. }
  199. public static PhoneNumber ParseFrom(pb::ICodedInputStream input) {
  200. return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
  201. }
  202. public static PhoneNumber ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
  203. return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
  204. }
  205. private PhoneNumber MakeReadOnly() {
  206. return this;
  207. }
  208. public static Builder CreateBuilder() { return new Builder(); }
  209. public override Builder ToBuilder() { return CreateBuilder(this); }
  210. public override Builder CreateBuilderForType() { return new Builder(); }
  211. public static Builder CreateBuilder(PhoneNumber prototype) {
  212. return new Builder(prototype);
  213. }
  214. [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  215. public sealed partial class Builder : pb::GeneratedBuilder<PhoneNumber, Builder> {
  216. protected override Builder ThisBuilder {
  217. get { return this; }
  218. }
  219. public Builder() {
  220. result = DefaultInstance;
  221. resultIsReadOnly = true;
  222. }
  223. internal Builder(PhoneNumber cloneFrom) {
  224. result = cloneFrom;
  225. resultIsReadOnly = true;
  226. }
  227. private bool resultIsReadOnly;
  228. private PhoneNumber result;
  229. private PhoneNumber PrepareBuilder() {
  230. if (resultIsReadOnly) {
  231. PhoneNumber original = result;
  232. result = new PhoneNumber();
  233. resultIsReadOnly = false;
  234. MergeFrom(original);
  235. }
  236. return result;
  237. }
  238. public override bool IsInitialized {
  239. get { return result.IsInitialized; }
  240. }
  241. protected override PhoneNumber MessageBeingBuilt {
  242. get { return PrepareBuilder(); }
  243. }
  244. public override Builder Clear() {
  245. result = DefaultInstance;
  246. resultIsReadOnly = true;
  247. return this;
  248. }
  249. public override Builder Clone() {
  250. if (resultIsReadOnly) {
  251. return new Builder(result);
  252. } else {
  253. return new Builder().MergeFrom(result);
  254. }
  255. }
  256. public override pbd::MessageDescriptor DescriptorForType {
  257. get { return global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber.Descriptor; }
  258. }
  259. public override PhoneNumber DefaultInstanceForType {
  260. get { return global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber.DefaultInstance; }
  261. }
  262. public override PhoneNumber BuildPartial() {
  263. if (resultIsReadOnly) {
  264. return result;
  265. }
  266. resultIsReadOnly = true;
  267. return result.MakeReadOnly();
  268. }
  269. public override Builder MergeFrom(pb::IMessage other) {
  270. if (other is PhoneNumber) {
  271. return MergeFrom((PhoneNumber) other);
  272. } else {
  273. base.MergeFrom(other);
  274. return this;
  275. }
  276. }
  277. public override Builder MergeFrom(PhoneNumber other) {
  278. if (other == global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber.DefaultInstance) return this;
  279. PrepareBuilder();
  280. if (other.HasNumber) {
  281. Number = other.Number;
  282. }
  283. if (other.HasType) {
  284. Type = other.Type;
  285. }
  286. this.MergeUnknownFields(other.UnknownFields);
  287. return this;
  288. }
  289. public override Builder MergeFrom(pb::ICodedInputStream input) {
  290. return MergeFrom(input, pb::ExtensionRegistry.Empty);
  291. }
  292. public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
  293. PrepareBuilder();
  294. pb::UnknownFieldSet.Builder unknownFields = null;
  295. uint tag;
  296. string field_name;
  297. while (input.ReadTag(out tag, out field_name)) {
  298. if(tag == 0 && field_name != null) {
  299. int field_ordinal = global::System.Array.BinarySearch(_phoneNumberFieldNames, field_name, global::System.StringComparer.Ordinal);
  300. if(field_ordinal >= 0)
  301. tag = _phoneNumberFieldTags[field_ordinal];
  302. else {
  303. if (unknownFields == null) {
  304. unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
  305. }
  306. ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
  307. continue;
  308. }
  309. }
  310. switch (tag) {
  311. case 0: {
  312. throw pb::InvalidProtocolBufferException.InvalidTag();
  313. }
  314. default: {
  315. if (pb::WireFormat.IsEndGroupTag(tag)) {
  316. if (unknownFields != null) {
  317. this.UnknownFields = unknownFields.Build();
  318. }
  319. return this;
  320. }
  321. if (unknownFields == null) {
  322. unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
  323. }
  324. ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
  325. break;
  326. }
  327. case 10: {
  328. result.hasNumber = input.ReadString(ref result.number_);
  329. break;
  330. }
  331. case 16: {
  332. object unknown;
  333. if(input.ReadEnum(ref result.type_, out unknown)) {
  334. result.hasType = true;
  335. } else if(unknown is int) {
  336. if (unknownFields == null) {
  337. unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
  338. }
  339. unknownFields.MergeVarintField(2, (ulong)(int)unknown);
  340. }
  341. break;
  342. }
  343. }
  344. }
  345. if (unknownFields != null) {
  346. this.UnknownFields = unknownFields.Build();
  347. }
  348. return this;
  349. }
  350. public bool HasNumber {
  351. get { return result.hasNumber; }
  352. }
  353. public string Number {
  354. get { return result.Number; }
  355. set { SetNumber(value); }
  356. }
  357. public Builder SetNumber(string value) {
  358. pb::ThrowHelper.ThrowIfNull(value, "value");
  359. PrepareBuilder();
  360. result.hasNumber = true;
  361. result.number_ = value;
  362. return this;
  363. }
  364. public Builder ClearNumber() {
  365. PrepareBuilder();
  366. result.hasNumber = false;
  367. result.number_ = "";
  368. return this;
  369. }
  370. public bool HasType {
  371. get { return result.hasType; }
  372. }
  373. public global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneType Type {
  374. get { return result.Type; }
  375. set { SetType(value); }
  376. }
  377. public Builder SetType(global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneType value) {
  378. PrepareBuilder();
  379. result.hasType = true;
  380. result.type_ = value;
  381. return this;
  382. }
  383. public Builder ClearType() {
  384. PrepareBuilder();
  385. result.hasType = false;
  386. result.type_ = global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneType.HOME;
  387. return this;
  388. }
  389. }
  390. static PhoneNumber() {
  391. object.ReferenceEquals(global::Google.ProtocolBuffers.Examples.AddressBook.AddressBookProtos.Descriptor, null);
  392. }
  393. }
  394. }
  395. #endregion
  396. public const int NameFieldNumber = 1;
  397. private bool hasName;
  398. private string name_ = "";
  399. public bool HasName {
  400. get { return hasName; }
  401. }
  402. public string Name {
  403. get { return name_; }
  404. }
  405. public const int IdFieldNumber = 2;
  406. private bool hasId;
  407. private int id_;
  408. public bool HasId {
  409. get { return hasId; }
  410. }
  411. public int Id {
  412. get { return id_; }
  413. }
  414. public const int EmailFieldNumber = 3;
  415. private bool hasEmail;
  416. private string email_ = "";
  417. public bool HasEmail {
  418. get { return hasEmail; }
  419. }
  420. public string Email {
  421. get { return email_; }
  422. }
  423. public const int PhoneFieldNumber = 4;
  424. private pbc::PopsicleList<global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber> phone_ = new pbc::PopsicleList<global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber>();
  425. public scg::IList<global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber> PhoneList {
  426. get { return phone_; }
  427. }
  428. public int PhoneCount {
  429. get { return phone_.Count; }
  430. }
  431. public global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber GetPhone(int index) {
  432. return phone_[index];
  433. }
  434. public override bool IsInitialized {
  435. get {
  436. if (!hasName) return false;
  437. if (!hasId) return false;
  438. foreach (global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber element in PhoneList) {
  439. if (!element.IsInitialized) return false;
  440. }
  441. return true;
  442. }
  443. }
  444. public override void WriteTo(pb::ICodedOutputStream output) {
  445. CalcSerializedSize();
  446. string[] field_names = _personFieldNames;
  447. if (hasName) {
  448. output.WriteString(1, field_names[2], Name);
  449. }
  450. if (hasId) {
  451. output.WriteInt32(2, field_names[1], Id);
  452. }
  453. if (hasEmail) {
  454. output.WriteString(3, field_names[0], Email);
  455. }
  456. if (phone_.Count > 0) {
  457. output.WriteMessageArray(4, field_names[3], phone_);
  458. }
  459. UnknownFields.WriteTo(output);
  460. }
  461. private int memoizedSerializedSize = -1;
  462. public override int SerializedSize {
  463. get {
  464. int size = memoizedSerializedSize;
  465. if (size != -1) return size;
  466. return CalcSerializedSize();
  467. }
  468. }
  469. private int CalcSerializedSize() {
  470. int size = memoizedSerializedSize;
  471. if (size != -1) return size;
  472. size = 0;
  473. if (hasName) {
  474. size += pb::CodedOutputStream.ComputeStringSize(1, Name);
  475. }
  476. if (hasId) {
  477. size += pb::CodedOutputStream.ComputeInt32Size(2, Id);
  478. }
  479. if (hasEmail) {
  480. size += pb::CodedOutputStream.ComputeStringSize(3, Email);
  481. }
  482. foreach (global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber element in PhoneList) {
  483. size += pb::CodedOutputStream.ComputeMessageSize(4, element);
  484. }
  485. size += UnknownFields.SerializedSize;
  486. memoizedSerializedSize = size;
  487. return size;
  488. }
  489. public static Person ParseFrom(pb::ByteString data) {
  490. return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
  491. }
  492. public static Person ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
  493. return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
  494. }
  495. public static Person ParseFrom(byte[] data) {
  496. return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
  497. }
  498. public static Person ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
  499. return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
  500. }
  501. public static Person ParseFrom(global::System.IO.Stream input) {
  502. return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
  503. }
  504. public static Person ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
  505. return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
  506. }
  507. public static Person ParseDelimitedFrom(global::System.IO.Stream input) {
  508. return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
  509. }
  510. public static Person ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
  511. return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
  512. }
  513. public static Person ParseFrom(pb::ICodedInputStream input) {
  514. return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
  515. }
  516. public static Person ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
  517. return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
  518. }
  519. private Person MakeReadOnly() {
  520. phone_.MakeReadOnly();
  521. return this;
  522. }
  523. public static Builder CreateBuilder() { return new Builder(); }
  524. public override Builder ToBuilder() { return CreateBuilder(this); }
  525. public override Builder CreateBuilderForType() { return new Builder(); }
  526. public static Builder CreateBuilder(Person prototype) {
  527. return new Builder(prototype);
  528. }
  529. [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  530. public sealed partial class Builder : pb::GeneratedBuilder<Person, Builder> {
  531. protected override Builder ThisBuilder {
  532. get { return this; }
  533. }
  534. public Builder() {
  535. result = DefaultInstance;
  536. resultIsReadOnly = true;
  537. }
  538. internal Builder(Person cloneFrom) {
  539. result = cloneFrom;
  540. resultIsReadOnly = true;
  541. }
  542. private bool resultIsReadOnly;
  543. private Person result;
  544. private Person PrepareBuilder() {
  545. if (resultIsReadOnly) {
  546. Person original = result;
  547. result = new Person();
  548. resultIsReadOnly = false;
  549. MergeFrom(original);
  550. }
  551. return result;
  552. }
  553. public override bool IsInitialized {
  554. get { return result.IsInitialized; }
  555. }
  556. protected override Person MessageBeingBuilt {
  557. get { return PrepareBuilder(); }
  558. }
  559. public override Builder Clear() {
  560. result = DefaultInstance;
  561. resultIsReadOnly = true;
  562. return this;
  563. }
  564. public override Builder Clone() {
  565. if (resultIsReadOnly) {
  566. return new Builder(result);
  567. } else {
  568. return new Builder().MergeFrom(result);
  569. }
  570. }
  571. public override pbd::MessageDescriptor DescriptorForType {
  572. get { return global::Google.ProtocolBuffers.Examples.AddressBook.Person.Descriptor; }
  573. }
  574. public override Person DefaultInstanceForType {
  575. get { return global::Google.ProtocolBuffers.Examples.AddressBook.Person.DefaultInstance; }
  576. }
  577. public override Person BuildPartial() {
  578. if (resultIsReadOnly) {
  579. return result;
  580. }
  581. resultIsReadOnly = true;
  582. return result.MakeReadOnly();
  583. }
  584. public override Builder MergeFrom(pb::IMessage other) {
  585. if (other is Person) {
  586. return MergeFrom((Person) other);
  587. } else {
  588. base.MergeFrom(other);
  589. return this;
  590. }
  591. }
  592. public override Builder MergeFrom(Person other) {
  593. if (other == global::Google.ProtocolBuffers.Examples.AddressBook.Person.DefaultInstance) return this;
  594. PrepareBuilder();
  595. if (other.HasName) {
  596. Name = other.Name;
  597. }
  598. if (other.HasId) {
  599. Id = other.Id;
  600. }
  601. if (other.HasEmail) {
  602. Email = other.Email;
  603. }
  604. if (other.phone_.Count != 0) {
  605. result.phone_.Add(other.phone_);
  606. }
  607. this.MergeUnknownFields(other.UnknownFields);
  608. return this;
  609. }
  610. public override Builder MergeFrom(pb::ICodedInputStream input) {
  611. return MergeFrom(input, pb::ExtensionRegistry.Empty);
  612. }
  613. public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
  614. PrepareBuilder();
  615. pb::UnknownFieldSet.Builder unknownFields = null;
  616. uint tag;
  617. string field_name;
  618. while (input.ReadTag(out tag, out field_name)) {
  619. if(tag == 0 && field_name != null) {
  620. int field_ordinal = global::System.Array.BinarySearch(_personFieldNames, field_name, global::System.StringComparer.Ordinal);
  621. if(field_ordinal >= 0)
  622. tag = _personFieldTags[field_ordinal];
  623. else {
  624. if (unknownFields == null) {
  625. unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
  626. }
  627. ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
  628. continue;
  629. }
  630. }
  631. switch (tag) {
  632. case 0: {
  633. throw pb::InvalidProtocolBufferException.InvalidTag();
  634. }
  635. default: {
  636. if (pb::WireFormat.IsEndGroupTag(tag)) {
  637. if (unknownFields != null) {
  638. this.UnknownFields = unknownFields.Build();
  639. }
  640. return this;
  641. }
  642. if (unknownFields == null) {
  643. unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
  644. }
  645. ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
  646. break;
  647. }
  648. case 10: {
  649. result.hasName = input.ReadString(ref result.name_);
  650. break;
  651. }
  652. case 16: {
  653. result.hasId = input.ReadInt32(ref result.id_);
  654. break;
  655. }
  656. case 26: {
  657. result.hasEmail = input.ReadString(ref result.email_);
  658. break;
  659. }
  660. case 34: {
  661. input.ReadMessageArray(tag, field_name, result.phone_, global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber.DefaultInstance, extensionRegistry);
  662. break;
  663. }
  664. }
  665. }
  666. if (unknownFields != null) {
  667. this.UnknownFields = unknownFields.Build();
  668. }
  669. return this;
  670. }
  671. public bool HasName {
  672. get { return result.hasName; }
  673. }
  674. public string Name {
  675. get { return result.Name; }
  676. set { SetName(value); }
  677. }
  678. public Builder SetName(string value) {
  679. pb::ThrowHelper.ThrowIfNull(value, "value");
  680. PrepareBuilder();
  681. result.hasName = true;
  682. result.name_ = value;
  683. return this;
  684. }
  685. public Builder ClearName() {
  686. PrepareBuilder();
  687. result.hasName = false;
  688. result.name_ = "";
  689. return this;
  690. }
  691. public bool HasId {
  692. get { return result.hasId; }
  693. }
  694. public int Id {
  695. get { return result.Id; }
  696. set { SetId(value); }
  697. }
  698. public Builder SetId(int value) {
  699. PrepareBuilder();
  700. result.hasId = true;
  701. result.id_ = value;
  702. return this;
  703. }
  704. public Builder ClearId() {
  705. PrepareBuilder();
  706. result.hasId = false;
  707. result.id_ = 0;
  708. return this;
  709. }
  710. public bool HasEmail {
  711. get { return result.hasEmail; }
  712. }
  713. public string Email {
  714. get { return result.Email; }
  715. set { SetEmail(value); }
  716. }
  717. public Builder SetEmail(string value) {
  718. pb::ThrowHelper.ThrowIfNull(value, "value");
  719. PrepareBuilder();
  720. result.hasEmail = true;
  721. result.email_ = value;
  722. return this;
  723. }
  724. public Builder ClearEmail() {
  725. PrepareBuilder();
  726. result.hasEmail = false;
  727. result.email_ = "";
  728. return this;
  729. }
  730. public pbc::IPopsicleList<global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber> PhoneList {
  731. get { return PrepareBuilder().phone_; }
  732. }
  733. public int PhoneCount {
  734. get { return result.PhoneCount; }
  735. }
  736. public global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber GetPhone(int index) {
  737. return result.GetPhone(index);
  738. }
  739. public Builder SetPhone(int index, global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber value) {
  740. pb::ThrowHelper.ThrowIfNull(value, "value");
  741. PrepareBuilder();
  742. result.phone_[index] = value;
  743. return this;
  744. }
  745. public Builder SetPhone(int index, global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber.Builder builderForValue) {
  746. pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
  747. PrepareBuilder();
  748. result.phone_[index] = builderForValue.Build();
  749. return this;
  750. }
  751. public Builder AddPhone(global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber value) {
  752. pb::ThrowHelper.ThrowIfNull(value, "value");
  753. PrepareBuilder();
  754. result.phone_.Add(value);
  755. return this;
  756. }
  757. public Builder AddPhone(global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber.Builder builderForValue) {
  758. pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
  759. PrepareBuilder();
  760. result.phone_.Add(builderForValue.Build());
  761. return this;
  762. }
  763. public Builder AddRangePhone(scg::IEnumerable<global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneNumber> values) {
  764. PrepareBuilder();
  765. result.phone_.Add(values);
  766. return this;
  767. }
  768. public Builder ClearPhone() {
  769. PrepareBuilder();
  770. result.phone_.Clear();
  771. return this;
  772. }
  773. }
  774. static Person() {
  775. object.ReferenceEquals(global::Google.ProtocolBuffers.Examples.AddressBook.AddressBookProtos.Descriptor, null);
  776. }
  777. }
  778. [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  779. public sealed partial class AddressBook : pb::GeneratedMessage<AddressBook, AddressBook.Builder> {
  780. private AddressBook() { }
  781. private static readonly AddressBook defaultInstance = new AddressBook().MakeReadOnly();
  782. private static readonly string[] _addressBookFieldNames = new string[] { "person" };
  783. private static readonly uint[] _addressBookFieldTags = new uint[] { 10 };
  784. public static AddressBook DefaultInstance {
  785. get { return defaultInstance; }
  786. }
  787. public override AddressBook DefaultInstanceForType {
  788. get { return DefaultInstance; }
  789. }
  790. protected override AddressBook ThisMessage {
  791. get { return this; }
  792. }
  793. public static pbd::MessageDescriptor Descriptor {
  794. get { return global::Google.ProtocolBuffers.Examples.AddressBook.AddressBookProtos.internal__static_tutorial_AddressBook__Descriptor; }
  795. }
  796. protected override pb::FieldAccess.FieldAccessorTable<AddressBook, AddressBook.Builder> InternalFieldAccessors {
  797. get { return global::Google.ProtocolBuffers.Examples.AddressBook.AddressBookProtos.internal__static_tutorial_AddressBook__FieldAccessorTable; }
  798. }
  799. public const int PersonFieldNumber = 1;
  800. private pbc::PopsicleList<global::Google.ProtocolBuffers.Examples.AddressBook.Person> person_ = new pbc::PopsicleList<global::Google.ProtocolBuffers.Examples.AddressBook.Person>();
  801. public scg::IList<global::Google.ProtocolBuffers.Examples.AddressBook.Person> PersonList {
  802. get { return person_; }
  803. }
  804. public int PersonCount {
  805. get { return person_.Count; }
  806. }
  807. public global::Google.ProtocolBuffers.Examples.AddressBook.Person GetPerson(int index) {
  808. return person_[index];
  809. }
  810. public override bool IsInitialized {
  811. get {
  812. foreach (global::Google.ProtocolBuffers.Examples.AddressBook.Person element in PersonList) {
  813. if (!element.IsInitialized) return false;
  814. }
  815. return true;
  816. }
  817. }
  818. public override void WriteTo(pb::ICodedOutputStream output) {
  819. CalcSerializedSize();
  820. string[] field_names = _addressBookFieldNames;
  821. if (person_.Count > 0) {
  822. output.WriteMessageArray(1, field_names[0], person_);
  823. }
  824. UnknownFields.WriteTo(output);
  825. }
  826. private int memoizedSerializedSize = -1;
  827. public override int SerializedSize {
  828. get {
  829. int size = memoizedSerializedSize;
  830. if (size != -1) return size;
  831. return CalcSerializedSize();
  832. }
  833. }
  834. private int CalcSerializedSize() {
  835. int size = memoizedSerializedSize;
  836. if (size != -1) return size;
  837. size = 0;
  838. foreach (global::Google.ProtocolBuffers.Examples.AddressBook.Person element in PersonList) {
  839. size += pb::CodedOutputStream.ComputeMessageSize(1, element);
  840. }
  841. size += UnknownFields.SerializedSize;
  842. memoizedSerializedSize = size;
  843. return size;
  844. }
  845. public static AddressBook ParseFrom(pb::ByteString data) {
  846. return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
  847. }
  848. public static AddressBook ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
  849. return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
  850. }
  851. public static AddressBook ParseFrom(byte[] data) {
  852. return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
  853. }
  854. public static AddressBook ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
  855. return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
  856. }
  857. public static AddressBook ParseFrom(global::System.IO.Stream input) {
  858. return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
  859. }
  860. public static AddressBook ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
  861. return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
  862. }
  863. public static AddressBook ParseDelimitedFrom(global::System.IO.Stream input) {
  864. return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
  865. }
  866. public static AddressBook ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
  867. return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
  868. }
  869. public static AddressBook ParseFrom(pb::ICodedInputStream input) {
  870. return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
  871. }
  872. public static AddressBook ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
  873. return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
  874. }
  875. private AddressBook MakeReadOnly() {
  876. person_.MakeReadOnly();
  877. return this;
  878. }
  879. public static Builder CreateBuilder() { return new Builder(); }
  880. public override Builder ToBuilder() { return CreateBuilder(this); }
  881. public override Builder CreateBuilderForType() { return new Builder(); }
  882. public static Builder CreateBuilder(AddressBook prototype) {
  883. return new Builder(prototype);
  884. }
  885. [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  886. public sealed partial class Builder : pb::GeneratedBuilder<AddressBook, Builder> {
  887. protected override Builder ThisBuilder {
  888. get { return this; }
  889. }
  890. public Builder() {
  891. result = DefaultInstance;
  892. resultIsReadOnly = true;
  893. }
  894. internal Builder(AddressBook cloneFrom) {
  895. result = cloneFrom;
  896. resultIsReadOnly = true;
  897. }
  898. private bool resultIsReadOnly;
  899. private AddressBook result;
  900. private AddressBook PrepareBuilder() {
  901. if (resultIsReadOnly) {
  902. AddressBook original = result;
  903. result = new AddressBook();
  904. resultIsReadOnly = false;
  905. MergeFrom(original);
  906. }
  907. return result;
  908. }
  909. public override bool IsInitialized {
  910. get { return result.IsInitialized; }
  911. }
  912. protected override AddressBook MessageBeingBuilt {
  913. get { return PrepareBuilder(); }
  914. }
  915. public override Builder Clear() {
  916. result = DefaultInstance;
  917. resultIsReadOnly = true;
  918. return this;
  919. }
  920. public override Builder Clone() {
  921. if (resultIsReadOnly) {
  922. return new Builder(result);
  923. } else {
  924. return new Builder().MergeFrom(result);
  925. }
  926. }
  927. public override pbd::MessageDescriptor DescriptorForType {
  928. get { return global::Google.ProtocolBuffers.Examples.AddressBook.AddressBook.Descriptor; }
  929. }
  930. public override AddressBook DefaultInstanceForType {
  931. get { return global::Google.ProtocolBuffers.Examples.AddressBook.AddressBook.DefaultInstance; }
  932. }
  933. public override AddressBook BuildPartial() {
  934. if (resultIsReadOnly) {
  935. return result;
  936. }
  937. resultIsReadOnly = true;
  938. return result.MakeReadOnly();
  939. }
  940. public override Builder MergeFrom(pb::IMessage other) {
  941. if (other is AddressBook) {
  942. return MergeFrom((AddressBook) other);
  943. } else {
  944. base.MergeFrom(other);
  945. return this;
  946. }
  947. }
  948. public override Builder MergeFrom(AddressBook other) {
  949. if (other == global::Google.ProtocolBuffers.Examples.AddressBook.AddressBook.DefaultInstance) return this;
  950. PrepareBuilder();
  951. if (other.person_.Count != 0) {
  952. result.person_.Add(other.person_);
  953. }
  954. this.MergeUnknownFields(other.UnknownFields);
  955. return this;
  956. }
  957. public override Builder MergeFrom(pb::ICodedInputStream input) {
  958. return MergeFrom(input, pb::ExtensionRegistry.Empty);
  959. }
  960. public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
  961. PrepareBuilder();
  962. pb::UnknownFieldSet.Builder unknownFields = null;
  963. uint tag;
  964. string field_name;
  965. while (input.ReadTag(out tag, out field_name)) {
  966. if(tag == 0 && field_name != null) {
  967. int field_ordinal = global::System.Array.BinarySearch(_addressBookFieldNames, field_name, global::System.StringComparer.Ordinal);
  968. if(field_ordinal >= 0)
  969. tag = _addressBookFieldTags[field_ordinal];
  970. else {
  971. if (unknownFields == null) {
  972. unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
  973. }
  974. ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
  975. continue;
  976. }
  977. }
  978. switch (tag) {
  979. case 0: {
  980. throw pb::InvalidProtocolBufferException.InvalidTag();
  981. }
  982. default: {
  983. if (pb::WireFormat.IsEndGroupTag(tag)) {
  984. if (unknownFields != null) {
  985. this.UnknownFields = unknownFields.Build();
  986. }
  987. return this;
  988. }
  989. if (unknownFields == null) {
  990. unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
  991. }
  992. ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
  993. break;
  994. }
  995. case 10: {
  996. input.ReadMessageArray(tag, field_name, result.person_, global::Google.ProtocolBuffers.Examples.AddressBook.Person.DefaultInstance, extensionRegistry);
  997. break;
  998. }
  999. }
  1000. }
  1001. if (unknownFields != null) {
  1002. this.UnknownFields = unknownFields.Build();
  1003. }
  1004. return this;
  1005. }
  1006. public pbc::IPopsicleList<global::Google.ProtocolBuffers.Examples.AddressBook.Person> PersonList {
  1007. get { return PrepareBuilder().person_; }
  1008. }
  1009. public int PersonCount {
  1010. get { return result.PersonCount; }
  1011. }
  1012. public global::Google.ProtocolBuffers.Examples.AddressBook.Person GetPerson(int index) {
  1013. return result.GetPerson(index);
  1014. }
  1015. public Builder SetPerson(int index, global::Google.ProtocolBuffers.Examples.AddressBook.Person value) {
  1016. pb::ThrowHelper.ThrowIfNull(value, "value");
  1017. PrepareBuilder();
  1018. result.person_[index] = value;
  1019. return this;
  1020. }
  1021. public Builder SetPerson(int index, global::Google.ProtocolBuffers.Examples.AddressBook.Person.Builder builderForValue) {
  1022. pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
  1023. PrepareBuilder();
  1024. result.person_[index] = builderForValue.Build();
  1025. return this;
  1026. }
  1027. public Builder AddPerson(global::Google.ProtocolBuffers.Examples.AddressBook.Person value) {
  1028. pb::ThrowHelper.ThrowIfNull(value, "value");
  1029. PrepareBuilder();
  1030. result.person_.Add(value);
  1031. return this;
  1032. }
  1033. public Builder AddPerson(global::Google.ProtocolBuffers.Examples.AddressBook.Person.Builder builderForValue) {
  1034. pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
  1035. PrepareBuilder();
  1036. result.person_.Add(builderForValue.Build());
  1037. return this;
  1038. }
  1039. public Builder AddRangePerson(scg::IEnumerable<global::Google.ProtocolBuffers.Examples.AddressBook.Person> values) {
  1040. PrepareBuilder();
  1041. result.person_.Add(values);
  1042. return this;
  1043. }
  1044. public Builder ClearPerson() {
  1045. PrepareBuilder();
  1046. result.person_.Clear();
  1047. return this;
  1048. }
  1049. }
  1050. static AddressBook() {
  1051. object.ReferenceEquals(global::Google.ProtocolBuffers.Examples.AddressBook.AddressBookProtos.Descriptor, null);
  1052. }
  1053. }
  1054. #endregion
  1055. }
  1056. #endregion Designer generated code