Library to help when accessing environment variables.
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.
Releases follow semantic versioning.
Full details of the release notes can be viewed on GitHub.
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