---
title: DnsClass
summary: API reference for DnsClass.
status: draft
owner: <owner>
last_reviewed: 2026-07-23
library: SAIF.Framework.DNS
reference_type: package
---

# DnsClass

`DnsClass` enumerates the DNS query/record classes (RFC1035 3.2.4/5) understood by this library.

## Purpose
- Identify the protocol class of a DNS question or resource record; `IN` (Internet) is the class used in practice, with the others present for completeness.

## Context
- Namespace: `SAIF.Framework.DNS`
- Assembly/package: `SAIF.BOF.Framework.DNS`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| None | `None = 0` | Sentinel/invalid value; rejected by [BR-004](../../business-rules.md#br-004-dnsclass-must-be-a-defined-non-none-enum-value) when supplied to the `Question` constructor. |
| IN | `IN = 1` | Internet class — the class used for all lookups performed by `Resolver`. |
| CS | `CS = 2` | CSNET class (obsolete). |
| CH | `CH = 3` | CHAOS class. |
| HS | `HS = 4` | Hesiod class. |

## Behavioral notes
- `Resolver.MXLookup` always constructs its `Question` with `DnsClass.IN`; other class values are only reachable via caller-constructed `Question` instances.

## Sources
- SAIF.Framework.DNS\Enums.cs
