| File: IEnvironment.cs | Web Access |
| Project: src\sdk\src\TemplateEngine\Microsoft.TemplateEngine.Abstractions\Microsoft.TemplateEngine.Abstractions.csproj (Microsoft.TemplateEngine.Abstractions) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.TemplateEngine.Abstractions { /// <summary> /// Provides access to environment settings, such as environment variables and constants. /// </summary> public interface IEnvironment { /// <summary> /// The newline character(s). /// </summary> string NewLine { get; } /// <summary> /// The width of the console buffer. This is typically the value of <see cref="System.Console.BufferWidth" />. /// </summary> int ConsoleBufferWidth { get; } /// <summary> /// Replaces the name of each environment variable embedded in the specified string with the string equivalent of the value of the variable, then returns the resulting string. Equivalent to <see cref="Environment.ExpandEnvironmentVariables(string)"/>. /// </summary> /// <param name="name"></param> /// <returns></returns> string ExpandEnvironmentVariables(string name); /// <summary> /// Gets the value of environment variable with the <paramref name="name"/>. /// </summary> /// <param name="name">Name of the environment variable to get.</param> /// <returns>The value of environment variable or null if environment variable doesn't exist.</returns> string? GetEnvironmentVariable(string name); /// <summary> /// Gets all environment variables and their values. /// </summary> /// <returns>The dictionary with environment variable names and their values.</returns> IReadOnlyDictionary<string, string> GetEnvironmentVariables(); } }