public sealed class FileOptions : object, IExtendableMessage<FileOptions>, IMessage<FileOptions>, IEquatable<FileOptions>, IDeepCloneable<FileOptions>, IBufferMessage, IMessage
   
  
    Inheritance
    Object  > 
    FileOptions
   
  
  Namespace
  Google.Protobuf.Reflection
  Assembly
  Google.Protobuf.dll
  Constructors
  
  
  FileOptions()
  
  
  FileOptions(FileOptions)
  
    public FileOptions(FileOptions other)
   
  
  Fields
  
  CcEnableArenasFieldNumber
  
    public const int CcEnableArenasFieldNumber = null
   
  Field number for the "cc_enable_arenas" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  CcGenericServicesFieldNumber
  
    public const int CcGenericServicesFieldNumber = null
   
  Field number for the "cc_generic_services" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  CsharpNamespaceFieldNumber
  
    public const int CsharpNamespaceFieldNumber = null
   
  Field number for the "csharp_namespace" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  DeprecatedFieldNumber
  
    public const int DeprecatedFieldNumber = null
   
  Field number for the "deprecated" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  GoPackageFieldNumber
  
    public const int GoPackageFieldNumber = null
   
  Field number for the "go_package" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  JavaGenerateEqualsAndHashFieldNumber
  
    public const int JavaGenerateEqualsAndHashFieldNumber = null
   
  Field number for the "java_generate_equals_and_hash" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  JavaGenericServicesFieldNumber
  
    public const int JavaGenericServicesFieldNumber = null
   
  Field number for the "java_generic_services" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  JavaMultipleFilesFieldNumber
  
    public const int JavaMultipleFilesFieldNumber = null
   
  Field number for the "java_multiple_files" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  JavaOuterClassnameFieldNumber
  
    public const int JavaOuterClassnameFieldNumber = null
   
  Field number for the "java_outer_classname" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  JavaPackageFieldNumber
  
    public const int JavaPackageFieldNumber = null
   
  Field number for the "java_package" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  JavaStringCheckUtf8FieldNumber
  
    public const int JavaStringCheckUtf8FieldNumber = null
   
  Field number for the "java_string_check_utf8" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  ObjcClassPrefixFieldNumber
  
    public const int ObjcClassPrefixFieldNumber = null
   
  Field number for the "objc_class_prefix" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  OptimizeForFieldNumber
  
    public const int OptimizeForFieldNumber = null
   
  Field number for the "optimize_for" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  PhpClassPrefixFieldNumber
  
    public const int PhpClassPrefixFieldNumber = null
   
  Field number for the "php_class_prefix" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  PhpGenericServicesFieldNumber
  
    public const int PhpGenericServicesFieldNumber = null
   
  Field number for the "php_generic_services" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  
  
    public const int PhpMetadataNamespaceFieldNumber = null
   
  Field number for the "php_metadata_namespace" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  PhpNamespaceFieldNumber
  
    public const int PhpNamespaceFieldNumber = null
   
  Field number for the "php_namespace" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  PyGenericServicesFieldNumber
  
    public const int PyGenericServicesFieldNumber = null
   
  Field number for the "py_generic_services" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  RubyPackageFieldNumber
  
    public const int RubyPackageFieldNumber = null
   
  Field number for the "ruby_package" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  SwiftPrefixFieldNumber
  
    public const int SwiftPrefixFieldNumber = null
   
  Field number for the "swift_prefix" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  UninterpretedOptionFieldNumber
  
    public const int UninterpretedOptionFieldNumber = null
   
  Field number for the "uninterpreted_option" field.
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  Properties
  
  
  CcEnableArenas
  
    public bool CcEnableArenas { get; set; }
   
  Enables the use of arenas for the proto messages in this file. This applies
only to generated classes for C++.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  CcGenericServices
  
    public bool CcGenericServices { get; set; }
   
  Should generic services be generated in each language?  "Generic" services
are not specific to any particular RPC system.  They are generated by the
main code generators in each language (without additional plugins).
Generic services were the only kind of service generation supported by
early versions of google.protobuf.
Generic services are now considered deprecated in favor of using plugins
that generate code specific to your particular RPC system.  Therefore,
these default to false.  Old code which depends on generic services should
explicitly set them to true.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  CsharpNamespace
  
    public string CsharpNamespace { get; set; }
   
  Namespace for generated classes; defaults to the package.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | String |  | 
    
  
  
  Deprecated
  
    public bool Deprecated { get; set; }
   
  Is this file deprecated?
Depending on the target platform, this can emit Deprecated annotations
for everything in the file, or it will be completely ignored; in the very
least, this is a formalization for deprecating files.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  Descriptor
  
    public static MessageDescriptor Descriptor { get; }
   
  
  
  GoPackage
  
    public string GoPackage { get; set; }
   
  Sets the Go package where structs generated from this .proto will be
placed. If omitted, the Go package will be derived from the following:
- The basename of the package import path, if provided.
- Otherwise, the package statement in the .proto file, if present.
- Otherwise, the basename of the .proto file, without extension.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | String |  | 
    
  
  
  HasCcEnableArenas
  
    public bool HasCcEnableArenas { get; }
   
  Gets whether the "cc_enable_arenas" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasCcGenericServices
  
    public bool HasCcGenericServices { get; }
   
  Gets whether the "cc_generic_services" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasCsharpNamespace
  
    public bool HasCsharpNamespace { get; }
   
  Gets whether the "csharp_namespace" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasDeprecated
  
    public bool HasDeprecated { get; }
   
  Gets whether the "deprecated" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasGoPackage
  
    public bool HasGoPackage { get; }
   
  Gets whether the "go_package" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasJavaGenerateEqualsAndHash
  
    public bool HasJavaGenerateEqualsAndHash { get; }
   
  Gets whether the "java_generate_equals_and_hash" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasJavaGenericServices
  
    public bool HasJavaGenericServices { get; }
   
  Gets whether the "java_generic_services" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasJavaMultipleFiles
  
    public bool HasJavaMultipleFiles { get; }
   
  Gets whether the "java_multiple_files" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasJavaOuterClassname
  
    public bool HasJavaOuterClassname { get; }
   
  Gets whether the "java_outer_classname" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasJavaPackage
  
    public bool HasJavaPackage { get; }
   
  Gets whether the "java_package" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasJavaStringCheckUtf8
  
    public bool HasJavaStringCheckUtf8 { get; }
   
  Gets whether the "java_string_check_utf8" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasObjcClassPrefix
  
    public bool HasObjcClassPrefix { get; }
   
  Gets whether the "objc_class_prefix" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasOptimizeFor
  
    public bool HasOptimizeFor { get; }
   
  Gets whether the "optimize_for" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasPhpClassPrefix
  
    public bool HasPhpClassPrefix { get; }
   
  Gets whether the "php_class_prefix" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasPhpGenericServices
  
    public bool HasPhpGenericServices { get; }
   
  Gets whether the "php_generic_services" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  
  
    public bool HasPhpMetadataNamespace { get; }
   
  Gets whether the "php_metadata_namespace" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasPhpNamespace
  
    public bool HasPhpNamespace { get; }
   
  Gets whether the "php_namespace" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasPyGenericServices
  
    public bool HasPyGenericServices { get; }
   
  Gets whether the "py_generic_services" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasRubyPackage
  
    public bool HasRubyPackage { get; }
   
  Gets whether the "ruby_package" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  HasSwiftPrefix
  
    public bool HasSwiftPrefix { get; }
   
  Gets whether the "swift_prefix" field is set
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  JavaGenerateEqualsAndHash
  
    public bool JavaGenerateEqualsAndHash { get; set; }
   
  This option does nothing.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  JavaGenericServices
  
    public bool JavaGenericServices { get; set; }
   
  
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  JavaMultipleFiles
  
    public bool JavaMultipleFiles { get; set; }
   
  If set true, then the Java code generator will generate a separate .java
file for each top-level message, enum, and service defined in the .proto
file.  Thus, these types will not be nested inside the outer class
named by java_outer_classname.  However, the outer class will still be
generated to contain the file's getDescriptor() method as well as any
top-level extensions defined in the file.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  JavaOuterClassname
  
    public string JavaOuterClassname { get; set; }
   
  If set, all the classes from the .proto file are wrapped in a single
outer class with the given name.  This applies to both Proto1
(equivalent to the old "--one_java_file" option) and Proto2 (where
a .proto always translates to a single class, but you may want to
explicitly choose the class name).
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | String |  | 
    
  
  
  JavaPackage
  
    public string JavaPackage { get; set; }
   
  Sets the Java package where classes generated from this .proto will be
placed.  By default, the proto package is used, but this is often
inappropriate because proto packages do not normally start with backwards
domain names.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | String |  | 
    
  
  
  JavaStringCheckUtf8
  
    public bool JavaStringCheckUtf8 { get; set; }
   
  If set true, then the Java2 code generator will generate code that
throws an exception whenever an attempt is made to assign a non-UTF-8
byte sequence to a string field.
Message reflection will do the same.
However, an extension field still accepts non-UTF-8 byte sequences.
This option has no effect on when used with the lite runtime.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  ObjcClassPrefix
  
    public string ObjcClassPrefix { get; set; }
   
  Sets the objective c class prefix which is prepended to all objective c
generated classes from this .proto. There is no default.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | String |  | 
    
  
  
  OptimizeFor
  
    public FileOptions.Types.OptimizeMode OptimizeFor { get; set; }
   
  
  
  Parser
  
    public static MessageParser<FileOptions> Parser { get; }
   
  
  
  PhpClassPrefix
  
    public string PhpClassPrefix { get; set; }
   
  Sets the php class prefix which is prepended to all php generated classes
from this .proto. Default is empty.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | String |  | 
    
  
  
  PhpGenericServices
  
    public bool PhpGenericServices { get; set; }
   
  
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  
  
    public string PhpMetadataNamespace { get; set; }
   
  Use this option to change the namespace of php generated metadata classes.
Default is empty. When this option is empty, the proto file name will be
used for determining the namespace.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | String |  | 
    
  
  
  PhpNamespace
  
    public string PhpNamespace { get; set; }
   
  Use this option to change the namespace of php generated classes. Default
is empty. When this option is empty, the package name will be used for
determining the namespace.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | String |  | 
    
  
  
  PyGenericServices
  
    public bool PyGenericServices { get; set; }
   
  
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | Boolean |  | 
    
  
  
  RubyPackage
  
    public string RubyPackage { get; set; }
   
  Use this option to change the package of ruby generated classes. Default
is empty. When this option is not set, the package name will be used for
determining the ruby package.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | String |  | 
    
  
  
  SwiftPrefix
  
    public string SwiftPrefix { get; set; }
   
  By default Swift generators will take the proto package and CamelCase it
replacing '.' with underscore and use that to prefix the types/symbols
defined. When this options is provided, they will use this value instead
to prefix the types/symbols defined.
    
      
        | Property Value | 
      
        | Type | Description | 
      
        | String |  | 
    
  
  
  UninterpretedOption
  
    public RepeatedField<UninterpretedOption> UninterpretedOption { get; }
   
  The parser stores options it doesn't recognize here.
See the documentation for the "Options" section above.
Methods
  
  
  CalculateSize()
  
    public int CalculateSize()
   
  
    
      
        | Returns | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  
  ClearCcEnableArenas()
  
    public void ClearCcEnableArenas()
   
  Clears the value of the "cc_enable_arenas" field
ClearCcGenericServices()
  
    public void ClearCcGenericServices()
   
  Clears the value of the "cc_generic_services" field
ClearCsharpNamespace()
  
    public void ClearCsharpNamespace()
   
  Clears the value of the "csharp_namespace" field
ClearDeprecated()
  
    public void ClearDeprecated()
   
  Clears the value of the "deprecated" field
ClearExtension<TValue>(Extension<FileOptions, TValue>)
  
    public void ClearExtension<TValue>(Extension<FileOptions, TValue> extension)
   
  
  
    
      
        | Type Parameter | 
      
        | Name | Description | 
      
        | TValue |  | 
    
  
  
  ClearExtension<TValue>(RepeatedExtension<FileOptions, TValue>)
  
    public void ClearExtension<TValue>(RepeatedExtension<FileOptions, TValue> extension)
   
  
  
    
      
        | Type Parameter | 
      
        | Name | Description | 
      
        | TValue |  | 
    
  
  
  ClearGoPackage()
  
    public void ClearGoPackage()
   
  Clears the value of the "go_package" field
ClearJavaGenerateEqualsAndHash()
  
    public void ClearJavaGenerateEqualsAndHash()
   
  Clears the value of the "java_generate_equals_and_hash" field
ClearJavaGenericServices()
  
    public void ClearJavaGenericServices()
   
  Clears the value of the "java_generic_services" field
ClearJavaMultipleFiles()
  
    public void ClearJavaMultipleFiles()
   
  Clears the value of the "java_multiple_files" field
ClearJavaOuterClassname()
  
    public void ClearJavaOuterClassname()
   
  Clears the value of the "java_outer_classname" field
ClearJavaPackage()
  
    public void ClearJavaPackage()
   
  Clears the value of the "java_package" field
ClearJavaStringCheckUtf8()
  
    public void ClearJavaStringCheckUtf8()
   
  Clears the value of the "java_string_check_utf8" field
ClearObjcClassPrefix()
  
    public void ClearObjcClassPrefix()
   
  Clears the value of the "objc_class_prefix" field
ClearOptimizeFor()
  
    public void ClearOptimizeFor()
   
  Clears the value of the "optimize_for" field
ClearPhpClassPrefix()
  
    public void ClearPhpClassPrefix()
   
  Clears the value of the "php_class_prefix" field
ClearPhpGenericServices()
  
    public void ClearPhpGenericServices()
   
  Clears the value of the "php_generic_services" field
    public void ClearPhpMetadataNamespace()
   
  Clears the value of the "php_metadata_namespace" field
ClearPhpNamespace()
  
    public void ClearPhpNamespace()
   
  Clears the value of the "php_namespace" field
ClearPyGenericServices()
  
    public void ClearPyGenericServices()
   
  Clears the value of the "py_generic_services" field
ClearRubyPackage()
  
    public void ClearRubyPackage()
   
  Clears the value of the "ruby_package" field
ClearSwiftPrefix()
  
    public void ClearSwiftPrefix()
   
  Clears the value of the "swift_prefix" field
Clone()
  
    public FileOptions Clone()
   
  
  
  Equals(FileOptions)
  
    public bool Equals(FileOptions other)
   
  
  
  
  Equals(Object)
  
    public override bool Equals(object other)
   
  
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | other | Object
 | 
    
  
  
  
  GetExtension<TValue>(Extension<FileOptions, TValue>)
  
    public TValue GetExtension<TValue>(Extension<FileOptions, TValue> extension)
   
  
  
    
      
        | Returns | 
      
        | Type | Description | 
      
        | TValue |  | 
    
  
  
    
      
        | Type Parameter | 
      
        | Name | Description | 
      
        | TValue |  | 
    
  
  
  GetExtension<TValue>(RepeatedExtension<FileOptions, TValue>)
  
    public RepeatedField<TValue> GetExtension<TValue>(RepeatedExtension<FileOptions, TValue> extension)
   
  
  
  
    
      
        | Type Parameter | 
      
        | Name | Description | 
      
        | TValue |  | 
    
  
  
  GetHashCode()
  
    public override int GetHashCode()
   
  
    
      
        | Returns | 
      
        | Type | Description | 
      
        | Int32 |  | 
    
  
  
  GetOrInitializeExtension<TValue>(RepeatedExtension<FileOptions, TValue>)
  
    public RepeatedField<TValue> GetOrInitializeExtension<TValue>(RepeatedExtension<FileOptions, TValue> extension)
   
  
  
  
    
      
        | Type Parameter | 
      
        | Name | Description | 
      
        | TValue |  | 
    
  
  
  HasExtension<TValue>(Extension<FileOptions, TValue>)
  
    public bool HasExtension<TValue>(Extension<FileOptions, TValue> extension)
   
  
  
  
    
      
        | Type Parameter | 
      
        | Name | Description | 
      
        | TValue |  | 
    
  
  
  
  
    public void MergeFrom(CodedInputStream input)
   
  
  
  MergeFrom(FileOptions)
  
    public void MergeFrom(FileOptions other)
   
  
  
  SetExtension<TValue>(Extension<FileOptions, TValue>, TValue)
  
    public void SetExtension<TValue>(Extension<FileOptions, TValue> extension, TValue value)
   
  
  
    
      
        | Type Parameter | 
      
        | Name | Description | 
      
        | TValue |  | 
    
  
  
  ToString()
  
    public override string ToString()
   
  
    
      
        | Returns | 
      
        | Type | Description | 
      
        | String |  | 
    
  
  
  WriteTo(CodedOutputStream)
  
    public void WriteTo(CodedOutputStream output)
   
  
  Explicit Interface Implementations
  
  
  IBufferMessage.InternalMergeFrom(ref ParseContext)
  
    void IBufferMessage.InternalMergeFrom(ref ParseContext input)
   
  
  
  IBufferMessage.InternalWriteTo(ref WriteContext)
  
    void IBufferMessage.InternalWriteTo(ref WriteContext output)
   
  
  
  IMessage.Descriptor
  
    MessageDescriptor IMessage.Descriptor { get; }