---
title: PrefKeyValues
summary: API reference for PrefKeyValues.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.Services
reference_type: package
---

# PrefKeyValues

A plain data holder returned by `NotePreferenceConversionService`'s private `GetPrefKeys` helper, representing a legacy preference key split into its application name, page name, key name, and owning user ID components. It has no behavior of its own beyond holding these four string fields, all of which are public mutable fields rather than properties.

## Purpose
- Carries the parsed segments of a tilde-delimited legacy preference key (`appname~pagename~keyname` or `appname~keyname`) for use during note-preference conversion.
- Carries the user ID associated with the source `.config` file the key was parsed from.

## Context
- Namespace: `SAIF.Services.Claims.Notes`
- Assembly/package: `SAIF.Services` (packaged inside the `SAIF.SAIFCode.Core` NuGet package)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| appname | `public string appname = ""` | The application-name segment of the parsed legacy preference key (first `~`-delimited token). |
| pagename | `public string pagename = ""` | The page-name segment of the parsed key when the key has three `~`-delimited segments; empty otherwise. |
| keyname | `public string keyname = ""` | The specific preference key name, taken from either the second or third `~`-delimited segment depending on key format. |
| userid | `public string userid = ""` | The user ID derived from the source `.config` file's name (extension stripped). |

## Behavioral notes
- Populated exclusively by `NotePreferenceConversionService.GetPrefKeys`, which is currently unreferenced by the service's active conversion path*.
- Fields are public and mutable rather than encapsulated as properties, matching the source's suppressed `CA1051` (do not declare visible instance fields) warning.

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- Services/SAIF.Services/Claims/Notes/NotePreferenceConversionService.cs
