<PackageReference Include="Google.Protobuf" Version="3.34.0" />

Google.Protobuf.Reflection.FileDescriptor

public sealed class FileDescriptor : IDescriptor
Describes a .proto file, including everything defined within. IDescriptor is implemented such that the File property returns this descriptor, and the FullName is the same as the Name.
namespace Google.Protobuf.Reflection { public sealed class FileDescriptor : IDescriptor { public Syntax Syntax { get; } public string Name { get; } public string Package { get; } public IList<MessageDescriptor> MessageTypes { get; } public IList<EnumDescriptor> EnumTypes { get; } public IList<ServiceDescriptor> Services { get; } public ExtensionCollection Extensions { get; } public IList<FileDescriptor> Dependencies { get; } public IList<FileDescriptor> PublicDependencies { get; } public ByteString SerializedData { get; } public static FileDescriptor DescriptorProtoFileDescriptor { get; } public CustomOptions CustomOptions { get; } public FileDescriptorProto ToProto(); public T FindTypeByName<T>(string name) where T : class, IDescriptor; public static FileDescriptor FromGeneratedCode(byte[] descriptorData, FileDescriptor[] dependencies, GeneratedClrTypeInfo generatedCodeInfo); public static IReadOnlyList<FileDescriptor> BuildFromByteStrings(IEnumerable<ByteString> descriptorData, ExtensionRegistry registry); public static IReadOnlyList<FileDescriptor> BuildFromByteStrings(IEnumerable<ByteString> descriptorData); public FileOptions GetOptions(); public T GetOption<T>(Extension<FileOptions, T> extension); public RepeatedField<T> GetOption<T>(RepeatedExtension<FileOptions, T> extension); public static void ForceReflectionInitialization<T>(); } }