Class Value (3.23.0)

public sealed class Value : IMessage<Value>, IEquatable<Value>, IDeepCloneable<Value>, IBufferMessage, IMessage

Value represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.

The JSON representation for Value is JSON value.

Inheritance

object > Value

Namespace

Google.Protobuf.WellKnownTypes

Assembly

Google.Protobuf.dll

Constructors

Value()

public Value()

Value(Value)

public Value(Value other)
Parameter
Name Description
other Value

Fields

BoolValueFieldNumber

public const int BoolValueFieldNumber = 4

Field number for the "bool_value" field.

Field Value
Type Description
int

ListValueFieldNumber

public const int ListValueFieldNumber = 6

Field number for the "list_value" field.

Field Value
Type Description
int

NullValueFieldNumber

public const int NullValueFieldNumber = 1

Field number for the "null_value" field.

Field Value
Type Description
int

NumberValueFieldNumber

public const int NumberValueFieldNumber = 2

Field number for the "number_value" field.

Field Value
Type Description
int

StringValueFieldNumber

public const int StringValueFieldNumber = 3

Field number for the "string_value" field.

Field Value
Type Description
int

StructValueFieldNumber

public const int StructValueFieldNumber = 5

Field number for the "struct_value" field.

Field Value
Type Description
int

Properties

BoolValue

public bool BoolValue { get; set; }

Represents a boolean value.

Property Value
Type Description
bool

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
Type Description
MessageDescriptor

HasBoolValue

public bool HasBoolValue { get; }

Gets whether the "bool_value" field is set

Property Value
Type Description
bool

HasNullValue

public bool HasNullValue { get; }

Gets whether the "null_value" field is set

Property Value
Type Description
bool

HasNumberValue

public bool HasNumberValue { get; }

Gets whether the "number_value" field is set

Property Value
Type Description
bool

HasStringValue

public bool HasStringValue { get; }

Gets whether the "string_value" field is set

Property Value
Type Description
bool

KindCase

public Value.KindOneofCase KindCase { get; }
Property Value
Type Description
ValueKindOneofCase

ListValue

public ListValue ListValue { get; set; }

Represents a repeated Value.

Property Value
Type Description
ListValue

NullValue

public NullValue NullValue { get; set; }

Represents a null value.

Property Value
Type Description
NullValue

NumberValue

public double NumberValue { get; set; }

Represents a double value.

Property Value
Type Description
double

Parser

public static MessageParser<Value> Parser { get; }
Property Value
Type Description
MessageParserValue

StringValue

public string StringValue { get; set; }

Represents a string value.

Property Value
Type Description
string

StructValue

public Struct StructValue { get; set; }

Represents a structured value.

Property Value
Type Description
Struct

Methods

CalculateSize()

public int CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

Returns
Type Description
int

The number of bytes required to write this message to a coded output stream.

ClearBoolValue()

public void ClearBoolValue()

Clears the value of the oneof if it's currently set to "bool_value"

ClearKind()

public void ClearKind()

ClearNullValue()

public void ClearNullValue()

Clears the value of the oneof if it's currently set to "null_value"

ClearNumberValue()

public void ClearNumberValue()

Clears the value of the oneof if it's currently set to "number_value"

ClearStringValue()

public void ClearStringValue()

Clears the value of the oneof if it's currently set to "string_value"

Clone()

public Value Clone()

Creates a deep clone of this object.

Returns
Type Description
Value

A deep clone of this object.

Equals(Value)

public bool Equals(Value other)
Parameter
Name Description
other Value
Returns
Type Description
bool

Equals(object)

public override bool Equals(object other)
Parameter
Name Description
other object
Returns
Type Description
bool
Overrides

ForBool(bool)

public static Value ForBool(bool value)

Convenience method to create a Value message with a Boolean value.

Parameter
Name Description
value bool

Value to set for the BoolValue property.

Returns
Type Description
Value

A newly-created Value message with the given value.

ForList(params Value[])

public static Value ForList(params Value[] values)

Convenience method to create a Value message with an initial list of values.

Parameter
Name Description
values Value
Returns
Type Description
Value

A newly-created Value message an initial list value.

Remarks

The values provided are not cloned; the references are copied directly.

ForNull()

public static Value ForNull()

Convenience method to create a Value message with a null initial value.

Returns
Type Description
Value

A newly-created Value message a null initial value.

ForNumber(double)

public static Value ForNumber(double value)

Convenience method to create a Value message with a number value.

Parameter
Name Description
value double

Value to set for the NumberValue property.

Returns
Type Description
Value

A newly-created Value message with the given value.

ForString(string)

public static Value ForString(string value)

Convenience method to create a Value message with a string value.

Parameter
Name Description
value string

Value to set for the StringValue property.

Returns
Type Description
Value

A newly-created Value message with the given value.

ForStruct(Struct)

public static Value ForStruct(Struct value)

Convenience method to create a Value message with an initial struct value

Parameter
Name Description
value Struct
Returns
Type Description
Value

A newly-created Value message an initial struct value.

Remarks

The value provided is not cloned; the reference is copied directly.

GetHashCode()

public override int GetHashCode()
Returns
Type Description
int
Overrides

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)

Merges the data from the specified coded input stream with the current message.

Parameter
Name Description
input CodedInputStream
Remarks

See the user guide for precise merge semantics.

MergeFrom(Value)

public void MergeFrom(Value other)

Merges the given message into this one.

Parameter
Name Description
other Value
Remarks

See the user guide for precise merge semantics.

ToString()

public override string ToString()
Returns
Type Description
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)

Writes the data to the given coded output stream.

Parameter
Name Description
output CodedOutputStream

Coded output stream to write the data to. Must not be null.

Extension Methods