public interface IFieldAccessor
Allows fields to be reflectively accessed.
Namespace
Google.Protobuf.ReflectionAssembly
Google.Protobuf.dll
Properties
Descriptor
FieldDescriptor Descriptor { get; }
Returns the descriptor associated with this field.
Property Value | |
---|---|
Type | Description |
FieldDescriptor |
Methods
Clear(IMessage)
void Clear(IMessage message)
Clears the field in the specified message. (For repeated fields, this clears the list.)
Parameter | |
---|---|
Name | Description |
message |
IMessage |
GetValue(IMessage)
object GetValue(IMessage message)
Fetches the field value. For repeated values, this will be an IList implementation. For map values, this will be an IDictionary implementation.
Parameter | |
---|---|
Name | Description |
message |
IMessage |
Returns | |
---|---|
Type | Description |
object |
HasValue(IMessage)
bool HasValue(IMessage message)
Indicates whether the field in the specified message is set. For proto3 fields that aren't explicitly optional, this throws an InvalidOperationException
Parameter | |
---|---|
Name | Description |
message |
IMessage |
Returns | |
---|---|
Type | Description |
bool |
SetValue(IMessage, object)
void SetValue(IMessage message, object value)
Mutator for single "simple" fields only.
Parameters | |
---|---|
Name | Description |
message |
IMessage |
value |
object |
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 | Description |
InvalidOperationException |
The field is not a "simple" field. |