A classe MessageField é usada para definir mensagens para uma transmissão eficiente no espaço de rede ou de processo. As mensagens são definidas através de classes de campos.
O MessageField é fornecido pelo módulo protorpc.messages.
Construtor
O construtor da classe MessageField é definido da seguinte forma:
- class MessageField(message_type, number, [required=False | repeated=False])
 - 
    
Define campos para valores de submensagens.
Argumentos- message_type
 - O tipo de mensagem para o campo. Tem de ser uma subclasse de Message.
 - number
 - Número do campo. Tem de ser único por classe de mensagem.
 - required=False
 - Se este campo é obrigatório ou não. Exclusivo com o argumento 
repeated; não especifiquerepeated=Truese usarrequired=True. - repeated=Falso
 - Se este campo é repetido ou não. Exclusivo com o argumento 
required; não especifiquerequired=Truese usarrepeated=True. 
Gera um FieldDefinitionError se
message_typefor inválido. 
Propriedade da classe
A classe MessageField oferece as seguintes propriedades:
- type
 - O tipo Python usado para os valores deste campo.  Por exemplo, no caso de DateTimeField, 
typeédatetime.datetime. Para MessageFields definidos pelo utilizador,typeé o tipo de mensagem especificado. - message_type
 - O tipo de mensagem subjacente usado para a serialização. Especificamente, este é o tipo que pode armazenar numa instância de uma classe Message. Por exemplo,
    para DateTimeField,
    o tipo é 
message_types.DateTimeMessage. Para campos de mensagens normais, será a subclasse de mensagens protorpc. Por exemplo:class Sub(messages.Message): x = messages.IntegerField(1) class M(messages.Message): sub = messages.MessageField(Sub, 1) dt = message_types.DateTimeField(2) print 'M.sub.type =', M.sub.type print 'M.sub.message_type =', M.sub.message_type print 'M.dt.type =', M.dt.type print 'M.dt.message_type =', M.dt.message_type === output === M.sub.type = <class '__main__.Sub> M.sub.message_type = <class '__main__.Sub'> M.dt.type = <type 'datetime.datetime'> M.dt.message_type = <class 'protorpc.message_types.DateTimeMessage'>