Skip to content

ByteDev/ByteDev.Configuration.Environment

Repository files navigation

Build status NuGet Package License: MIT

ByteDev.Configuration.Environment

Library to help when accessing environment variables.

Installation

ByteDev.Configuration.Environment is hosted as a package on nuget.org. To install from the Package Manager Console in Visual Studio run:

Install-Package ByteDev.Configuration.Environment

Further details can be found on the nuget page.

Release Notes

Releases follow semantic versioning.

Full details of the release notes can be viewed on GitHub.

Usage

The primary class for accessing environment variable is EnvironmentVariableProvider (IEnvironmentVariableProvider).

EnvironmentVariableProvider has the following methods:

  • Delete
  • DeleteOrThrow
  • Exists
  • GetBoolean
  • GetBooleanOrDefault
  • GetByte
  • GetByteOrDefault
  • GetChar
  • GetCharOrDefault
  • GetDateTime
  • GetDateTimeOrDefault
  • GetDecimal
  • GetDecimalOrDefault
  • GetDouble
  • GetDoubleOrDefault
  • GetEnum
  • GetEnumOrDefault
  • GetGuid
  • GetInt16
  • GetInt16OrDefault
  • GetInt32
  • GetInt32OrDefault
  • GetInt64
  • GetInt64OrDefault
  • GetUri
  • GetSingle
  • GetSingleOrDefault
  • GetString
  • GetStringOrDefault
  • GetTimeSpan
  • GetTimeSpanOrDefault
  • Set
// Initialize provider with an optional target level (Process by default)

IEnvironmentVariableProvider provider = new EnvironmentVariableProvider(EnvironmentVariableTarget.User);
// Example string value

provider.Set("MyVar1", "Value1");

bool exists = provider.Exists("MyVar1");    // exists == true

string s1 = provider.GetString("MyVar1");   // s1 == "Value1"

string s2 = provider.GetString("MyVar2");   // throws EnvironmentVariableNotExistException

string s3 = provider.GetStringOrDefault("MyVar1");            // s3 == "Value1"

string s4 = provider.GetStringOrDefault("MyVar2");            // s4 == null

string s5 = provider.GetStringOrDefault("MyVar2", "myValue"); // s5 == "myValue"

provider.Delete("MyVar1");

provider.Delete("MyVar2");   // Does not throw exception when not exist
// Example URI value

provider.Set("MyUri1", "http://www.google.com/");
provider.Set("MyUri2", "ThisIsNotUri");

Uri uri0 = provider.GetUri("MyUri0");   // throws EnvironmentVariableNotExistException

Uri uri1 = provider.GetUri("MyUri1");   // uri1 == new Uri("http://www.google.com/")

Uri uri2 = provider.GetUri("MyUri2");   // throws UnexpectedEnvironmentVariableTypeException