diff options
| author | Vasily <just.one.man@yandex.ru> | 2020-03-02 12:31:31 +0300 |
|---|---|---|
| committer | Vasily <just.one.man@yandex.ru> | 2020-03-02 12:31:31 +0300 |
| commit | 11abe31e0d9751409c0ca289a3becd3901c5b953 (patch) | |
| tree | b22d5110837f784d10c3d3fb0b00bb490382f47d | |
| parent | 6c6b5d7f280b0d29bf5083387cac4897588e7ef6 (diff) | |
Speed up equality comparison of BaseItem
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 353c675cb..263a84119 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -33,7 +33,7 @@ namespace MediaBrowser.Controller.Entities /// <summary> /// Class BaseItem /// </summary> - public abstract class BaseItem : IHasProviderIds, IHasLookupInfo<ItemLookupInfo> + public abstract class BaseItem : IHasProviderIds, IHasLookupInfo<ItemLookupInfo>, IEquatable<BaseItem> { /// <summary> /// The supported image extensions @@ -2918,5 +2918,22 @@ namespace MediaBrowser.Controller.Entities public static readonly IReadOnlyCollection<ExtraType> DisplayExtraTypes = new[] { Model.Entities.ExtraType.BehindTheScenes, Model.Entities.ExtraType.Clip, Model.Entities.ExtraType.DeletedScene, Model.Entities.ExtraType.Interview, Model.Entities.ExtraType.Sample, Model.Entities.ExtraType.Scene }; public virtual bool SupportsExternalTransfer => false; + + public override bool Equals(object obj) + { + Logger.LogInformation("Comparing me ({0}) to generic them ({1})", this, obj); + return this.Equals(obj as BaseItem); + } + + public bool Equals(BaseItem item) + { + Logger.LogInformation("Comparing me ({0}) to specific them ({1})", this, item); + if (item == null) + { + return false; + } + + return Id == item.Id; + } } } |
