# Push

> Push a new SearchExpression with its arguments to be evaluated. This is useful if a user defined evaluator needs to generate a new Context of evaluation.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.Search](/engine/6000.5/script-reference/unityeditor/search.md)
* **Assembly:** UnityEditor

## Push(SearchExpression, IEnumerable\<SearchExpression>)

Push a new [SearchExpression](/engine/6000.5/script-reference/unityeditor/search/searchexpression.md) with its arguments to be evaluated. This is useful if a user defined evaluator needs to generate a new Context of evaluation.

```csharp
public IDisposable Push(SearchExpression searchExpression, IEnumerable<SearchExpression> args)
```

### Parameters

**** (\[SearchExpression]\(/engine/6000.5/script-reference/unityeditor/search/searchexpression)): Expression to evaluate.**** (\[IEnumerable\<SearchExpression>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)): Parameters passed to the expression to evaluate.

### Returns

| Type                                                                     | Description                                                                                                                                |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable) | Returns a new disposable Scope. When out this scope is disposed the newly created SearchExpressionContext will be removed from the frames. |

## Push(SearchItem)

Push a new [SearchExpression](/engine/6000.5/script-reference/unityeditor/search/searchexpression.md) with its arguments to be evaluated. This is useful if a user defined evaluator needs to generate a new Context of evaluation.

```csharp
public IDisposable Push(SearchItem item)
```

### Parameters

**** (\[SearchItem]\(/engine/6000.5/script-reference/unityeditor/search/searchitem)): Push a new yielded item in the current evaluation frame.

### Returns

| Type                                                                     | Description                                                                                                                                |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable) | Returns a new disposable Scope. When out this scope is disposed the newly created SearchExpressionContext will be removed from the frames. |
