https://github.com/bytedev/bytedev.configuration.environment
.NET Library to help when accessing environment variables.
https://github.com/bytedev/bytedev.configuration.environment
configuration csharp dotnet-standard environment environment-variables
Last synced: 6 months ago
JSON representation
.NET Library to help when accessing environment variables.
- Host: GitHub
- URL: https://github.com/bytedev/bytedev.configuration.environment
- Owner: ByteDev
- License: mit
- Created: 2021-01-06T10:19:12.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-28T08:45:16.000Z (about 3 years ago)
- Last Synced: 2025-06-24T22:05:58.973Z (7 months ago)
- Topics: configuration, csharp, dotnet-standard, environment, environment-variables
- Language: C#
- Homepage:
- Size: 70.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://ci.appveyor.com/project/bytedev/ByteDev-Configuration-Environment/branch/master)
[](https://www.nuget.org/packages/ByteDev.Configuration.Environment)
[](https://github.com/ByteDev/ByteDev.Configuration.Environment/blob/master/LICENSE)
# 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](https://www.nuget.org/packages/ByteDev.Configuration.Environment/).
## Release Notes
Releases follow semantic versioning.
Full details of the release notes can be viewed on [GitHub](https://github.com/ByteDev/ByteDev.Configuration.Environment/blob/master/docs/RELEASE-NOTES.md).
## 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
```csharp
// Initialize provider with an optional target level (Process by default)
IEnvironmentVariableProvider provider = new EnvironmentVariableProvider(EnvironmentVariableTarget.User);
```
```csharp
// 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
```
```csharp
// 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
```