# CMxReference Class

Namespace: `ArchestrA.Toolkit`

CMxReference is derived from CMxCommon and provides support for Reference Attributes.

**Syntax**

```csharp
public class CMxReference : CMxCommon
```

## CMxReference Property

### Value Property

Provides a property to get or set the value as a full reference string.

**Syntax**

```csharp
public string Value { get; set; }
```

**Returns**

string

## CMxReference Constructors

### CMxReference Constructor

Provides a default constructor.

**Syntax**

```csharp
public CMxReference ();
```

### CMxReference Constructor string

Provides a constructor to initialize the class with a full reference string.

**Syntax**

```csharp
public CMxReference (string v);
```

**Parameters**

**`v`**

[in] string value that holds the reference.

### CMxReference Constructor SupportWrapper, string

Provides a constructor to initialize the class for use in a primitive wrapper.

**Syntax**

```csharp
public CMxReference (SupportWrapper _wrapper, string _attributeRef);
```

**Parameters**

**`_wrapper`**

[in] SupportWrapper.

**`_attributeRef`**

[in] string value that holds the attribute reference.

## CMxReference Method

### Set Method

Provides a method to set the value of the Attribute from a CMxReference.

**Syntax**

```csharp
public void Set(CMxReference val);
```

**Parameters**

**`val`**

[in] CMxReference value.

## CMxReference Operator Overloads

### CMxReference Operator Overload string

Provides an operator that converts from full reference string to CMxReference.

**Syntax**

```csharp
public static implicit operator CMxReference (string x);
```

**Parameters**

**`x`**

[in] string to convert to CMxReference.

**Returns**

CMxReference

### CMxValue Operator Overload

Provides an operator that converts from CMxReference to CMxValue.

**Syntax**

```csharp
public static implicit operator CMxValue(CMxReference val);
```

**Parameters**

**`val`**

[in] CMxReference value to convert to CMxValue.

**Returns**

CMxValue

### string Operator Overload

Provides an operator that converts from CMxReference to full reference string.

**Syntax**

```csharp
public static implicit operator string (CMxReference val);
```

**Parameters**

**`val`**

[in] CMxReference value to convert to string.

**Returns**

string

### CMxReference Operator Overload CMxValue

Provides an operator that converts from CMxValue to CMxReference.

**Syntax**

```csharp
public static implicit operator CMxReference (CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue value to convert to CMxReference.

**Returns**

CMxReference
