# Resolver class

Namespace: [Grasshopper2.Expressions](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.expressions.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public sealed class Resolver
```

Describes an object which can resolve named variables.

## Fields

- [Empty](https://developer.rhino3d.com/api/gh2/type/grasshopper2.expressions.resolver/empty.md): (static) Gets the empty resolver.

## Properties

- [ItemIndex](https://developer.rhino3d.com/api/gh2/type/grasshopper2.expressions.resolver/itemindex.md): Gets or sets the item index to be used during indexer lookups. Create a copy of this resolver if you intend to set these values from a threaded environment.
- [PathIndex](https://developer.rhino3d.com/api/gh2/type/grasshopper2.expressions.resolver/pathindex.md): Gets or sets the path index to be used during indexer lookups. Create a copy of this resolver if you intend to set these values from a threaded environment.

## Indexers

- [this[]](https://developer.rhino3d.com/api/gh2/type/grasshopper2.expressions.resolver/item.md): Gets the variable associated with a specific name.

## Methods

- [Append](https://developer.rhino3d.com/api/gh2/type/grasshopper2.expressions.resolver/append.md): (3 overloads) Append a delegate to this resolver.
- [Duplicate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.expressions.resolver/duplicate.md): Create a duplicate of this resolver whose [Resolver.PathIndex](https://developer.rhino3d.com/api/gh2/type/grasshopper2.expressions.resolver/pathindex.md) and [Resolver.ItemIndex](https://developer.rhino3d.com/api/gh2/type/grasshopper2.expressions.resolver/itemindex.md) can be set safely.
