TeamCity.CSharpInteractive/AddNuGetReferenceCommand.cs (25 lines of code) (raw):
namespace TeamCity.CSharpInteractive;
using System.Diagnostics.CodeAnalysis;
using NuGet.Versioning;
[ExcludeFromCodeCoverage]
internal class AddNuGetReferenceCommand : ICommand
{
public readonly string PackageId;
public readonly VersionRange? VersionRange;
public AddNuGetReferenceCommand(string packageId, VersionRange? versionRange)
{
PackageId = packageId;
VersionRange = versionRange;
}
public string Name => $"Package {PackageId} {VersionRange?.ToString() ?? "latest"}";
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 = (AddNuGetReferenceCommand)obj;
return PackageId == other.PackageId && Equals(VersionRange?.ToString(), other.VersionRange?.ToString());
}
public override int GetHashCode() => HashCode.Combine(PackageId, VersionRange?.ToString());
}