Show / Hide Table of Contents

Interface IFieldAccessor

Allows fields to be reflectively accessed.

Namespace: Google.Protobuf.Reflection
Assembly: Google.Protobuf.dll
Syntax
public interface IFieldAccessor

Properties

Descriptor

Returns the descriptor associated with this field.

Declaration
FieldDescriptor Descriptor { get; }
Property Value
Type Description
FieldDescriptor

Methods

Clear(IMessage)

Clears the field in the specified message. (For repeated fields, this clears the list.)

Declaration
void Clear(IMessage message)
Parameters
Type Name Description
IMessage message

GetValue(IMessage)

Fetches the field value. For repeated values, this will be an System.Collections.IList implementation. For map values, this will be an System.Collections.IDictionary implementation.

Declaration
object GetValue(IMessage message)
Parameters
Type Name Description
IMessage message
Returns
Type Description
System.Object

HasValue(IMessage)

Indicates whether the field in the specified message is set. For proto3 fields, this throws an System.InvalidOperationException

Declaration
bool HasValue(IMessage message)
Parameters
Type Name Description
IMessage message
Returns
Type Description
System.Boolean

SetValue(IMessage, Object)

Mutator for single "simple" fields only.

Declaration
void SetValue(IMessage message, object value)
Parameters
Type Name Description
IMessage message
System.Object value
Remarks

Repeated fields are mutated by fetching the value and manipulating it as a list. Map fields are mutated by fetching the value and manipulating it as a dictionary.

Exceptions
Type Condition
System.InvalidOperationException

The field is not a "simple" field.

Back to top