> ## Documentation Index
> Fetch the complete documentation index at: https://easyaf.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# NameOf

> Fills a gap in `nameof` by allowing you to use deep name references instead of local name references.

## Definition

**Assembly:** CloudNimble.EasyAF.Core.dll

**Namespace:** CloudNimble.EasyAF.Core

**Inheritance:** System.Object

## Syntax

```csharp theme={"dark"}
CloudNimble.EasyAF.Core.NameOf
```

## Summary

Fills a gap in `nameof` by allowing you to use deep name references instead of local name references.

## Remarks

Solution modified from [link](https://stackoverflow.com/a/58190566/403765).

## Methods

### <Icon icon="thumbtack" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> Full

Gets the full property path name from the specified expression, optionally using a custom separator.

#### Syntax

```csharp theme={"dark"}
public static string Full<TSource>(System.Linq.Expressions.Expression<System.Func<TSource, object>> expression, string separator = ".")
```

#### Parameters

| Name         | Type                                                               | Description                                                                      |
| ------------ | ------------------------------------------------------------------ | -------------------------------------------------------------------------------- |
| `expression` | `System.Linq.Expressions.Expression<System.Func<TSource, object>>` | An expression pointing to the property whose full name should be returned.       |
| `separator`  | `string`                                                           | The character(s) used to separate property names in the result. Defaults to ".". |

#### Returns

Type: `string`
The full property path as a string with the specified separator.

#### Type Parameters

* `TSource` - The source type containing the property.

### <Icon icon="thumbtack" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> Full

Allows you to create a source name expression when you need to have a prefixing variable in the result.

#### Syntax

```csharp theme={"dark"}
public static string Full<TSource>(string sourceFieldName, System.Linq.Expressions.Expression<System.Func<TSource, object>> expression, string separator = ".")
```

#### Parameters

| Name              | Type                                                               | Description                                          |
| ----------------- | ------------------------------------------------------------------ | ---------------------------------------------------- |
| `sourceFieldName` | `string`                                                           | -                                                    |
| `expression`      | `System.Linq.Expressions.Expression<System.Func<TSource, object>>` | -                                                    |
| `separator`       | `string`                                                           | The characters used to separate the from the result. |

#### Returns

Type: `string`

#### Type Parameters

* `TSource` -
