Migrating to docfx

This commit is contained in:
Jordan Wages 2026-07-01 23:01:00 -05:00
commit bc4c63a7cd
646 changed files with 86228 additions and 27821 deletions

View file

@ -0,0 +1,339 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Class SettingsHelper | CapyKit Documentation </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class SettingsHelper | CapyKit Documentation ">
<meta name="description" content="Static class containing helper methods for retrieving and setting application settings.">
<link rel="icon" href="../favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
<meta name="docfx:navrel" content="../toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="docfx:rel" content="../">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../logo.svg" alt="CapyKit Documentation">
CapyKit Documentation
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="CapyKit.Helpers.SettingsHelper">
<h1 id="CapyKit_Helpers_SettingsHelper" data-uid="CapyKit.Helpers.SettingsHelper" class="text-break">
Class SettingsHelper
</h1>
<div class="facts text-secondary">
<dl><dt>Namespace</dt><dd><a class="xref" href="CapyKit.html">CapyKit</a>.<a class="xref" href="CapyKit.Helpers.html">Helpers</a></dd></dl>
<dl><dt>Assembly</dt><dd>CapyKit.dll</dd></dl>
</div>
<div class="markdown summary"><p>Static class containing helper methods for retrieving and setting application settings.</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static class SettingsHelper</code></pre>
</div>
<dl class="typelist inheritance">
<dt>Inheritance</dt>
<dd>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
<div><span class="xref">SettingsHelper</span></div>
</dd>
</dl>
<dl class="typelist inheritedMembers">
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
</div>
</dd></dl>
<h2 id="CapyKit_Helpers_SettingsHelper_examples">Examples</h2>
<p>This example demonstrates how to set up the SettingsHelper class with custom accessor and
detector methods that read from an App.config file. The setup is done at the beginning of the
application execution, before any other usage of the helper methods.</p>
<pre><code class="lang-csharp">public int main(string[] args)
{
// Set up SettingsHelper with custom accessor and detector methods
Func&lt;string, object&gt; accessor = (key) =&gt;
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
return config.AppSettings.Settings[key].Value;
};
Func&lt;string, bool&gt; detector = (key) =&gt;
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
return config.AppSettings.Settings.AllKeys.Contains(key);
};
SettingsHelper.SetAccessorMethod(accessor);
SettingsHelper.SetDetectorMethod(detector);
// Use the helper to retrieve and set settings
SettingsHelper.SetApplicationSetting&lt;int&gt;("MySettingKey", 42);
int newSetting = SettingsHelper.GetApplicationSetting&lt;int&gt;("MySettingKey");
Console.WriteLine("New setting: {0}", newSetting);
int mySetting = SettingsHelper.GetApplicationSetting&lt;int&gt;("MySettingKey");
Console.WriteLine("Retrieved setting: {0}", mySetting);
}</code></pre>
<h2 id="CapyKit_Helpers_SettingsHelper_remarks">Remarks</h2>
<div class="markdown level0 remarks"><p>The specific means of accessing and storing the settings are determined by the consumer,
allowing for flexibility in various environments such as <code>App.config</code> or <code>Web.config</code>
.</p>
</div>
<h2 class="section" id="methods">Methods
</h2>
<a id="CapyKit_Helpers_SettingsHelper_GetApplicationSetting_" data-uid="CapyKit.Helpers.SettingsHelper.GetApplicationSetting*"></a>
<h3 id="CapyKit_Helpers_SettingsHelper_GetApplicationSetting__1_System_String_" data-uid="CapyKit.Helpers.SettingsHelper.GetApplicationSetting``1(System.String)">
GetApplicationSetting&lt;T&gt;(string)
</h3>
<div class="markdown level1 summary"><p>Retrieves a setting with the given <code>key</code>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static T GetApplicationSetting&lt;T&gt;(string settingName)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>settingName</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>The name of the setting to retrieve.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><span class="xref">T</span></dt>
<dd><p>The value of the setting as an uncast <code class="typeparamref">T</code>.</p>
</dd>
</dl>
<h4 class="section">Type Parameters</h4>
<dl class="parameters">
<dt><code>T</code></dt>
<dd><p>The type of the setting to be retrieved.</p>
</dd>
</dl>
<a id="CapyKit_Helpers_SettingsHelper_SetAccessorMethod_" data-uid="CapyKit.Helpers.SettingsHelper.SetAccessorMethod*"></a>
<h3 id="CapyKit_Helpers_SettingsHelper_SetAccessorMethod_System_Func_System_String_System_Object__" data-uid="CapyKit.Helpers.SettingsHelper.SetAccessorMethod(System.Func{System.String,System.Object})">
SetAccessorMethod(Func&lt;string, object&gt;)
</h3>
<div class="markdown level1 summary"><p>Sets the function used to retrieve application settings.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void SetAccessorMethod(Func&lt;string, object&gt; accessor)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>accessor</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>&gt;</dt>
<dd><p>The new function used to retrieve application settings.</p>
</dd>
</dl>
<h4 class="section">Exceptions</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.argumentnullexception">ArgumentNullException</a></dt>
<dd><p>Thrown when one or more required arguments are null.</p>
</dd>
</dl>
<a id="CapyKit_Helpers_SettingsHelper_SetDetectorMethod_" data-uid="CapyKit.Helpers.SettingsHelper.SetDetectorMethod*"></a>
<h3 id="CapyKit_Helpers_SettingsHelper_SetDetectorMethod_System_Func_System_String_System_Boolean__" data-uid="CapyKit.Helpers.SettingsHelper.SetDetectorMethod(System.Func{System.String,System.Boolean})">
SetDetectorMethod(Func&lt;string, bool&gt;)
</h3>
<div class="markdown level1 summary"><p>Sets the function used to detect if an application setting with a given <code>key</code> exists.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void SetDetectorMethod(Func&lt;string, bool&gt; detector)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>detector</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-2">Func</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>&gt;</dt>
<dd><p>The new function used to detect if an application setting exists.</p>
</dd>
</dl>
<h4 class="section">Exceptions</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.argumentnullexception">ArgumentNullException</a></dt>
<dd><p>Thrown when one or more required arguments are null.</p>
</dd>
</dl>
</article>
<div class="contribution d-print-none">
</div>
</div>
<div class="affix">
<nav id="affix"></nav>
</div>
</main>
<div class="container-xxl search-results" id="search-results"></div>
<footer class="border-top text-secondary">
<div class="container-xxl">
<div class="flex-fill">
<span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
</div>
</div>
</footer>
</body>
</html>