# CMxDouble Class

Namespace: `ArchestrA.Toolkit`

CMxDouble is derived from CMxCommon and provides support for Double Attributes.

**Syntax**

```csharp
public class CMxDouble : CMxCommon
```

## CMxDouble Property

### Value Property

Provides a property to get and set the value as a double.

**Syntax**

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

**Returns**

double

## CMxDouble Constructors

### CMxDouble Constructor

Provides a default constructor.

**Syntax**

```csharp
public CMxDouble();
```

### CMxDouble Constructor (double)

Provides a constructor to initialize the class with a double default value.

**Syntax**

```csharp
public CMxDouble (double v);
```

**Parameters**

**`v`**

[in] double value to be set.

### CMxDouble Constructor (SupportWrapper, string)

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

**Syntax**

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

**Parameters**

**`_wrapper`**

[in] SupportWrapper.

**`_attributeRef`**

[in]string value that holds attribute reference.

## CMxDouble Method

### Set Method

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

**Syntax**

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

**Parameters**

**`val`**

[in] CMxDouble value to be set.

## CMxDouble Operator Overloads

### CMxDouble Operator Overload (double)

Provides an operator to convert a double into a CMxDouble.

**Syntax**

```csharp
public static implicit operator CMxDouble(double x);
```

**Parameters**

**`x`**

[in] double value to convert to CMxDouble.

**Returns**

CMxDouble

### CMxValue Operator Overload

Provides an operator to convert a CMxDouble into a CMxValue.

**Syntax**

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

**Parameters**

**`val`**

[in] CMxDouble value to convert to CMxValue.

**Returns**

CMxValue

### Double Operator Overload

Provides an operator to convert a CMxDouble into a double.

**Syntax**

```csharp
public static implicit operator double (CMxDouble val);
```

**Parameters**

**`val`**

[in] CMxValue value to convert to double.

**Returns**

double

### CMxDouble Operator Overload (CMxValue)

Provides an operator to convert a CMxValue into a CMxDouble.

**Syntax**

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

**Parameters**

**`val`**

[in] CMxValue value to convert to CMxDouble.

**Returns**

CMxDouble
