Class ApiMetadata (4.0.0)

public sealed class ApiMetadata

Provides metadata about an API. This is expected to be constructed with a single instance per API; equality is by simple identity.

Inheritance

Object > ApiMetadata

Namespace

Google.Api.Gax.Grpc

Assembly

Google.Api.Gax.Grpc.dll

Constructors

ApiMetadata(String, IEnumerable<FileDescriptor>)

public ApiMetadata(string name, IEnumerable<FileDescriptor> descriptors)

Creates an API descriptor from a sequence of file descriptors.

Parameters
NameDescription
nameString

The name of the API. Must not be null or empty.

descriptorsIEnumerable<FileDescriptor>

The protobuf descriptors of the API. Must not be null.

Remarks

The sequence is evaluated once, on construction.

ApiMetadata(String, Func<IEnumerable<FileDescriptor>>)

public ApiMetadata(string name, Func<IEnumerable<FileDescriptor>> descriptorsProvider)

Creates an API descriptor which lazily requests the protobuf descriptors when ProtobufDescriptors is first called.

Parameters
NameDescription
nameString

The name of the API. Must not be null or empty.

descriptorsProviderFunc<IEnumerable<FileDescriptor>>

A provider function for the protobuf descriptors of the API. Must not be null, and must not return a null value. This will only be called once by this API descriptor, when first requested.

Properties

Name

public string Name { get; }

The name of the API (typically the fully-qualified name of the client library package). This is never null or empty.

Property Value
TypeDescription
String

ProtobufDescriptors

public IReadOnlyList<FileDescriptor> ProtobufDescriptors { get; }

The protobuf descriptors used by this API.

Property Value
TypeDescription
IReadOnlyList<FileDescriptor>

TypeRegistry

public TypeRegistry TypeRegistry { get; }

A type registry containing all the types in ProtobufDescriptors.

Property Value
TypeDescription
TypeRegistry