


# Enum class













## Constructors

[Enum](../package-fidl_fidl/Enum/Enum.md) ()

  _const_ 


## Properties

##### [$value](../package-fidl_fidl/Enum/$value.md) &#8594; int



  
_<span class="feature read-only">read-only</span>_



##### [hashCode](../package-fidl_fidl/Enum/hashCode.md) &#8594; int



The hash code for this object.  
_<span class="feature read-only">read-only</span><span class="feature inherited">inherited</span>_



##### [runtimeType](../package-fidl_fidl/Enum/runtimeType.md) &#8594; Type



A representation of the runtime type of the object.  
_<span class="feature read-only">read-only</span><span class="feature inherited">inherited</span>_





## Methods

##### [isUnknown](../package-fidl_fidl/Enum/isUnknown.md)() bool



  




##### [noSuchMethod](../package-fidl_fidl/Enum/noSuchMethod.md)(Invocation invocation) dynamic



Invoked when a non-existent method or property is accessed.  
_<span class="feature inherited">inherited</span>_



##### [toString](../package-fidl_fidl/Enum/toString.md)() String



A string representation of this object.  
_<span class="feature override">override</span>_





## Operators

##### [operator ==](../package-fidl_fidl/Enum/operator_equals.md)(Object other) bool



The equality operator.  
_<span class="feature inherited">inherited</span>_















