Send feedback
Class FileDescriptorProto (3.27.1)
Stay organized with collections
Save and categorize content based on your preferences.
Version latest keyboard_arrow_down
public sealed class FileDescriptorProto : IMessage<FileDescriptorProto>, IEquatable<FileDescriptorProto>, IDeepCloneable<FileDescriptorProto>, IBufferMessage, IMessage
Describes a complete .proto file.
Inheritance
object >
FileDescriptorProto
Namespace
Google.Protobuf.Reflection
Assembly
Google.Protobuf.dll
Constructors
FileDescriptorProto()
public FileDescriptorProto()
FileDescriptorProto(FileDescriptorProto)
public FileDescriptorProto(FileDescriptorProto other)
Fields
DependencyFieldNumber
public const int DependencyFieldNumber = 3
Field number for the "dependency" field.
Field Value
Type
Description
int
EditionFieldNumber
public const int EditionFieldNumber = 14
Field number for the "edition" field.
Field Value
Type
Description
int
EnumTypeFieldNumber
public const int EnumTypeFieldNumber = 5
Field number for the "enum_type" field.
Field Value
Type
Description
int
ExtensionFieldNumber
public const int ExtensionFieldNumber = 7
Field number for the "extension" field.
Field Value
Type
Description
int
MessageTypeFieldNumber
public const int MessageTypeFieldNumber = 4
Field number for the "message_type" field.
Field Value
Type
Description
int
NameFieldNumber
public const int NameFieldNumber = 1
Field number for the "name" field.
Field Value
Type
Description
int
OptionsFieldNumber
public const int OptionsFieldNumber = 8
Field number for the "options" field.
Field Value
Type
Description
int
PackageFieldNumber
public const int PackageFieldNumber = 2
Field number for the "package" field.
Field Value
Type
Description
int
PublicDependencyFieldNumber
public const int PublicDependencyFieldNumber = 10
Field number for the "public_dependency" field.
Field Value
Type
Description
int
ServiceFieldNumber
public const int ServiceFieldNumber = 6
Field number for the "service" field.
Field Value
Type
Description
int
SourceCodeInfoFieldNumber
public const int SourceCodeInfoFieldNumber = 9
Field number for the "source_code_info" field.
Field Value
Type
Description
int
SyntaxFieldNumber
public const int SyntaxFieldNumber = 12
Field number for the "syntax" field.
Field Value
Type
Description
int
WeakDependencyFieldNumber
public const int WeakDependencyFieldNumber = 11
Field number for the "weak_dependency" field.
Field Value
Type
Description
int
Properties
Dependency
public RepeatedField<string> Dependency { get; }
Names of files imported by this file.
Descriptor
public static MessageDescriptor Descriptor { get; }
Edition
public Edition Edition { get; set; }
The edition of the proto file.
Property Value
Type
Description
Edition
EnumType
public RepeatedField<EnumDescriptorProto> EnumType { get; }
Extension
public RepeatedField<FieldDescriptorProto> Extension { get; }
HasEdition
public bool HasEdition { get; }
Gets whether the "edition" field is set
Property Value
Type
Description
bool
HasName
public bool HasName { get; }
Gets whether the "name" field is set
Property Value
Type
Description
bool
HasPackage
public bool HasPackage { get; }
Gets whether the "package" field is set
Property Value
Type
Description
bool
HasSyntax
public bool HasSyntax { get; }
Gets whether the "syntax" field is set
Property Value
Type
Description
bool
MessageType
public RepeatedField<DescriptorProto> MessageType { get; }
All top-level definitions in this file.
Name
public string Name { get; set; }
file name, relative to root of source tree
Property Value
Type
Description
string
Options
public FileOptions Options { get; set; }
Package
public string Package { get; set; }
e.g. "foo", "foo.bar", etc.
Property Value
Type
Description
string
Parser
public static MessageParser<FileDescriptorProto> Parser { get; }
PublicDependency
public RepeatedField<int> PublicDependency { get; }
Indexes of the public imported files in the dependency list above.
Service
public RepeatedField<ServiceDescriptorProto> Service { get; }
SourceCodeInfo
public SourceCodeInfo SourceCodeInfo { get; set; }
This field contains optional information about the original source code.
You may safely remove this entire field without harming runtime
functionality of the descriptors -- the information is needed only by
development tools.
Syntax
public string Syntax { get; set; }
The syntax of the proto file.
The supported values are "proto2", "proto3", and "editions".
If edition
is present, this value must be "editions".
Property Value
Type
Description
string
WeakDependency
public RepeatedField<int> WeakDependency { get; }
Indexes of the weak imported files in the dependency list.
For Google-internal migration only. Do not use.
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.
ClearEdition()
public void ClearEdition()
Clears the value of the "edition" field
ClearName()
Clears the value of the "name" field
ClearPackage()
public void ClearPackage()
Clears the value of the "package" field
ClearSyntax()
public void ClearSyntax()
Clears the value of the "syntax" field
Clone()
public FileDescriptorProto Clone()
Creates a deep clone of this object.
Equals(FileDescriptorProto)
public bool Equals(FileDescriptorProto other)
Returns
Type
Description
bool
Equals(object)
public override bool Equals(object other)
Parameter
Name
Description
other
object
Returns
Type
Description
bool
Overrides
GetHashCode()
public override int GetHashCode()
Returns
Type
Description
int
Overrides
public void MergeFrom(CodedInputStream input)
Merges the data from the specified coded input stream with the current message.
Remarks
MergeFrom(FileDescriptorProto)
public void MergeFrom(FileDescriptorProto other)
Merges the given message into this one.
Remarks
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
Send feedback
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 2025-01-28 UTC.
Need to tell us more?
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-01-28 UTC."],[],[]]