# CMxDataQuality Class

Namespace: `ArchestrA.Toolkit`

A wrapper class for handling MxDataQuality. Indicates the data quality of an associated value as the OPC-compliant data quality word.

**Syntax**

```csharp
public class CMxDataQuality
```

**Remarks**

The high order byte is reserved by ArchestrA (do not use) as allowed by the OPC specification.

## CMxDataQuality Property

### Quality Property

Provides a property to store the quality as a short.

**Syntax**

```csharp
public short quality;
```

**Returns**

short

## CMxDataQuality Constructors

### CMxDataQuality Constructor

Provides a constructor that creates a data quality with a default initial value (bad).

**Syntax**

```csharp
public CMxDataQuality();
```

### CMxDataQuality Constructor DataQuality

Provides a constructor to create a data quality with an initial value of DataQuality type.

**Syntax**

```csharp
public CMxDataQuality(DataQuality dataQuality);
```

**Parameters**

**`dataQuality`**

[in] DataQuality value to be set.

### CMxDataQuality Constructor OpcQuality

Provides a constructor to create a data quality with an initial value of OpcQuality type.

**Syntax**

```csharp
public CMxDataQuality(OpcQuality opcQuality);
```

**Parameters**

**`opcQuality`**

[in] OpcQuality value to be set.

### CMxDataQuality Constructor short

Provides a constructor to create a data quality with an initial value of short type.

**Syntax**

```csharp
public CMxDataQuality(short q);
```

**Parameters**

**`q`**

[in] short.

## CMxDataQuality Methods

### IsBad Method

Provides a method to check if the current quality is bad.

**Syntax**

```csharp
public bool isBad { get; }
```

**Returns**

bool

### IsGood Method

Provides a method to check if the current quality is good.

**Syntax**

```csharp
public bool isGood { get; }
```

**Returns**

bool

### IsInitializing Method

Provides a method to check if the current quality is initializing.

**Syntax**

```csharp
public bool isInitializing { get; }
```

**Returns**

bool

### IsUncertain Method

Provides a method to check if the current quality is uncertain.

**Syntax**

```csharp
public bool isUncertain { get; }
```

**Returns**

bool

## CMxDataQuality Operator Overloads

### CMxValue Operator Overload CMxDataQuality

Provides an operator that converts from CMxDataQuality to CMxValue.

**Syntax**

```csharp
public static implicit operator CMxValue(CMxDataQuality x);
```

**Parameters**

**`x`**

[in] CMxDataQuality value to convert to CMxValue.

**Returns**

CMxValue

### DataQuality Operator Overload CMxDataQuality

Provides an operator that converts from CMxDataQuality to DataQuality.

**Syntax**

```csharp
public static implicit operator DataQuality(CMxDataQuality x);
```

**Parameters**

**`x`**

[in] CMxDataQuality value to convert to DataQuality.

**Returns**

DataQuality

### CMxDataQuality Operator Overload DataQuality

Provides an operator that converts from DataQuality to CMxDataQuality.

**Syntax**

```csharp
public static implicit operator CMxDataQuality(DataQuality x);
```

**Parameters**

**`x`**

[in] DataQuality value to convert to CMxDataQuality.

**Returns**

CMxDataQuality

### CMxDataQuality Operator Overload OpcQuality

Provides an operator that converts from OpcQuality to CMxDataQuality.

**Syntax**

```csharp
public static implicit operator CMxDataQuality(OpcQuality x);
```

**Parameters**

**`x`**

[in] OpcQuality value to convert to CMxDataQuality.

**Returns**

CMxDataQuality
