Smart Code Completion filters the list of C# types, methods, and variables to match the expected type of an expression when completing code.
To invoke Smart Code Completion:
Smart Code Completion works anywhere as long as ReSharper can determine the expected type of the expression. Examples include but are not limited to:
If several return types are possible, ReSharper detects the most recently used symbol of an applicable type and pre-selects it in the lookup list, as shown below:

After a return statement:

At the right hand of assignments:

After new keyword:

In cast expressions:

Basic Code Completion | Type Name Code Completion | Advanced Editing Features