From eba90f4871c1e24985a726656d8b6716a6478df3 Mon Sep 17 00:00:00 2001 From: Vlad Date: Tue, 17 Aug 2021 23:28:45 +0300 Subject: [PATCH] make struct readonly, add IEq<> --- .../ref/Microsoft.Extensions.DependencyModel.cs | 6 +++--- .../src/Dependency.cs | 8 ++------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/ref/Microsoft.Extensions.DependencyModel.cs b/src/libraries/Microsoft.Extensions.DependencyModel/ref/Microsoft.Extensions.DependencyModel.cs index 25cb39d936a98a..332e5066583f27 100644 --- a/src/libraries/Microsoft.Extensions.DependencyModel/ref/Microsoft.Extensions.DependencyModel.cs +++ b/src/libraries/Microsoft.Extensions.DependencyModel/ref/Microsoft.Extensions.DependencyModel.cs @@ -46,10 +46,10 @@ public CompilationOptions(System.Collections.Generic.IEnumerable defines public bool? PublicSign { get { throw null; } } public bool? WarningsAsErrors { get { throw null; } } } - public partial struct Dependency + public readonly partial struct Dependency : System.IEquatable { - private object _dummy; - private int _dummyPrimitive; + private readonly object _dummy; + private readonly int _dummyPrimitive; public Dependency(string name, string version) { throw null; } public readonly string Name { get { throw null; } } public readonly string Version { get { throw null; } } diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/src/Dependency.cs b/src/libraries/Microsoft.Extensions.DependencyModel/src/Dependency.cs index bf51c3a414a42b..5ce3c29cdd3a74 100644 --- a/src/libraries/Microsoft.Extensions.DependencyModel/src/Dependency.cs +++ b/src/libraries/Microsoft.Extensions.DependencyModel/src/Dependency.cs @@ -6,7 +6,7 @@ namespace Microsoft.Extensions.DependencyModel { - public struct Dependency + public readonly struct Dependency : IEquatable { public Dependency(string name, string version) { @@ -30,11 +30,7 @@ public bool Equals(Dependency other) return string.Equals(Name, other.Name) && string.Equals(Version, other.Version); } - public override bool Equals(object obj) - { - if (obj is null) return false; - return obj is Dependency && Equals((Dependency) obj); - } + public override bool Equals(object obj) => obj is Dependency dependency && Equals(dependency); public override int GetHashCode() => HashHelpers.Combine(Name.GetHashCode(), Version.GetHashCode());