namespace TeamCity.CSharpInteractive; using System.Diagnostics.CodeAnalysis; [ExcludeFromCodeCoverage] internal class SettingCommand : ICommand where TOption: struct, Enum { public readonly TOption Value; public SettingCommand(TOption value) => Value = value; public string Name => $"Set verbosity level to {Value}"; public bool Internal => false; public override bool Equals(object? obj) { if (ReferenceEquals(null, obj)) return false; if (ReferenceEquals(this, obj)) return true; if (obj.GetType() != GetType()) return false; var other = (SettingCommand)obj; return Equals(Value, other.Value); } public override int GetHashCode() => Value.GetHashCode(); public override string ToString() => Name; }