Jasinski Technical Wiki

Navigation

Home Page
Index
All Pages

Quick Search
»
Advanced Search »

Contributor Links

Create a new Page
Administration
File Management
Login/Logout
Your Profile

Other Wiki Sections

Software

PoweredBy

Page History: ConfigMgr Class

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: Tue, Dec 01, 2009, 2:59 PM


This page is part of the Class Library Pages collection.
Click the icon to see the index.
This class depends on the Parser class, found here.

Overview

The ConfigMgr class provides a means of working with application settings found in either an app.config or a web.config file.

Implementation

  1. Copy the source code, found below
  2. Modify the Key enum to suit your requirements
  3. Modify the static constructor to fill the _dict dictionary.

Source Code

VB.NET

Imports Microsoft.VisualBasic
Imports System.Collections.Generic

Public Class ConfigMgr

    Public Enum Key
        AppId
        LinesPerPage
        SingleSignOnMode
    End Enum

    Private Shared _dict As Dictionary(Of Key, String)

    Shared Sub New()

        _dict = New Dictionary(Of Key, String)()
        _dict.Add(Key.AppId, "ApplicationID")
        _dict.Add(Key.LinesPerPage, "LinesPerPage")
        _dict.Add(Key.SingleSignOnMode, "SSO")

    End Sub
    Public Shared Function GetKey(ByVal key As Key) As String

        Return _dict(key)

    End Function
    Public Shared Function GetValue(ByVal key As Key, Optional ByVal defaultValue As String = "") _
    As String

        Dim s As String = ConfigurationManager.AppSettings(_dict(key))

        If s Is Nothing Then
            s = ""
        End If

        If s.Length = 0 Then
            s = defaultValue
        End If

        Return s

    End Function
    Public Shared Function TryGetValue(Of T)(ByVal key As Key, ByRef value As T) As Boolean

        Return Parser(Of T).TryParse(GetValue(key), value)

    End Function
End Class

C#

TODO

ScrewTurn Wiki version 3.0.1.400. Some of the icons created by FamFamFam. Except where noted, all contents Copyright © 1999-2021, Patrick Jasinski.