public override void Get(FieldDescriptor ds_, IDataReader dr_)
		{
			switch( ds_.Pos )
			{
				case 0: Str = dr_.AsString(); break;
				case 1: Date = dr_.AsBytes(); break;
				case 2: dr_.AsMessage(_msg??(Msg = new Any()), ds_); break;
				case 3: Name = dr_.AsString(); break;
				case 4: I32 = dr_.AsInt(); break;
				case 5: Bol = dr_.AsBool(); break;
				case 6: Cha = dr_.AsChar(); break;
				case 7: Si3 = dr_.AsSi32(); break;
				case 8: Fx3 = (uint)dr_.AsBit32(); break;
				case 9: Ui64 = (ulong)dr_.AsLong(); break;
				case 10: Si64 = dr_.AsSi64(); break;
				case 11: I64 = dr_.AsLong(); break;
				case 12: Dbl = dr_.AsDouble(); break;
				case 13: Flt = dr_.AsFloat(); break;
				case 14: Dat = dr_.AsDate(); break;
			}
		}
		public KVTest AddM1(long key, Any value) { var kv = GetMapEntry(_m1.Items, (long)key, _m1_desc); kv.ov = value; _m1.Add(kv); return this; }