Class Metadata (2.66.0)
Stay organized with collections
Save and categorize content based on your preferences.
Version latestkeyboard_arrow_down
public sealed class Metadata : IList<Metadata.Entry>, ICollection<Metadata.Entry>, IEnumerable<Metadata.Entry>, IEnumerable
A collection of metadata entries that can be exchanged during a call.
gRPC supports these types of metadata:
Request headers are sent by the client at the beginning of a remote call before any request messages are sent.Response headers are sent by the server at the beginning of a remote call handler before any response messages are sent.Response trailers are sent by the server at the end of a remote call along with resulting call status.
Namespace
Grpc.Core
Assembly
Grpc.Core.Api.dll
Constructors
Initializes a new instance of Metadata.
Fields
public const string BinaryHeaderSuffix = "-bin"
All binary headers should have this suffix.
Field Value
Type
Description
string
public static readonly Metadata Empty
An read-only instance of metadata containing no entries.
Properties
public int Count { get; }
IList`1
Property Value
Type
Description
int
public bool IsReadOnly { get; }
IList`1
Property Value
Type
Description
bool
public Metadata . Entry this [ int index ] { get ; set ; }
IList`1
Parameter
Name
Description
index
int
Methods
Add(Entry)
public void Add(Metadata.Entry item)
IList`1
public void Add(string key, byte[] valueBytes)
Adds a new binary-valued metadata entry.
Parameters
Name
Description
key
string Metadata key. Gets converted to lowercase. Needs to have -bin suffix indicating a binary-valued metadata entry. The binary header suffix can be added to the key with BinaryHeaderSuffix . Can only contain lowercase alphanumeric characters, underscores, hyphens, and dots.
valueBytes
System.Byte Value bytes.
public void Add(string key, string value)
Adds a new ASCII-valued metadata entry.
Parameters
Name
Description
key
string Metadata key. Gets converted to lowercase. Must not use -bin suffix indicating a binary-valued metadata entry. Can only contain lowercase alphanumeric characters, underscores, hyphens, and dots.
value
string Value string. Only ASCII characters are allowed.
IList`1
Contains(Entry)
public bool Contains(Metadata.Entry item)
IList`1
Returns
Type
Description
bool
CopyTo(Entry[], int)
public void CopyTo(Metadata.Entry[] array, int arrayIndex)
IList`1
Parameters
Name
Description
array
Entry
arrayIndex
int
public Metadata.Entry? Get(string key)
Gets the last metadata entry with the specified key.
If there are no matching entries then null is returned.
Parameter
Name
Description
key
string
public IEnumerable<Metadata.Entry> GetAll(string key)
Gets all metadata entries with the specified key.
Parameter
Name
Description
key
string
public IEnumerator<Metadata.Entry> GetEnumerator()
IList`1
public string? GetValue(string key)
Gets the string value of the last metadata entry with the specified key.
If the metadata entry is binary then an exception is thrown.
If there are no matching entries then null is returned.
Parameter
Name
Description
key
string
Returns
Type
Description
string
public byte[]? GetValueBytes(string key)
Gets the bytes value of the last metadata entry with the specified key.
If the metadata entry is not binary the string value will be returned as ASCII encoded bytes.
If there are no matching entries then null is returned.
Parameter
Name
Description
key
string
Returns
Type
Description
System.Byte
IndexOf(Entry)
public int IndexOf(Metadata.Entry item)
IList`1
Returns
Type
Description
int
Insert(int, Entry)
public void Insert(int index, Metadata.Entry item)
IList`1
Remove(Entry)
public bool Remove(Metadata.Entry item)
IList`1
Returns
Type
Description
bool
public void RemoveAt(int index)
IList`1
Parameter
Name
Description
index
int
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-03-09 UTC.
[null,null,["Last updated 2026-03-09 UTC."],[],[]]