Features inferenceedit

Some URIs in Elasticsearch take a Feature enum. Within NEST, route values on the URI are represented as classes that implement an interface, IUrlParameter. Since enums cannot implement interfaces in C#, a route parameter that would be of type Feature is represented using the Features class that the Feature enum implicitly converts to.

Constructoredit

Using the Features constructor directly is possible but rather involved

Features fieldString = Feature.Mappings | Feature.Aliases;
Expect("_mappings,_aliases")
    .WhenSerializing(fieldString);