diff options
| author | BaronGreenback <jimcartlidge@yahoo.co.uk> | 2021-05-05 23:22:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-05 23:22:54 +0100 |
| commit | e682c230bd978a47ffd42d0cb8013ef8705b66ba (patch) | |
| tree | 828852da0cb735df015cd937e03e0a3b37f3bce2 /MediaBrowser.Controller/Entities/BaseItemExtensions.cs | |
| parent | 107412f2f2ae5b4b282ff533636661071b2d215d (diff) | |
| parent | 95b1cf532b577aa744d5301af4eeb78d08da3ba8 (diff) | |
Merge branch 'master' into comparisons
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItemExtensions.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItemExtensions.cs | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItemExtensions.cs b/MediaBrowser.Controller/Entities/BaseItemExtensions.cs index c65477d39..157ed8332 100644 --- a/MediaBrowser.Controller/Entities/BaseItemExtensions.cs +++ b/MediaBrowser.Controller/Entities/BaseItemExtensions.cs @@ -1,5 +1,7 @@ +#nullable enable #pragma warning disable CS1591 +using System; using System.Linq; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; @@ -64,9 +66,19 @@ namespace MediaBrowser.Controller.Entities /// <param name="source">The source object.</param> /// <param name="dest">The destination object.</param> public static void DeepCopy<T, TU>(this T source, TU dest) - where T : BaseItem - where TU : BaseItem + where T : BaseItem + where TU : BaseItem { + if (source == null) + { + throw new ArgumentNullException(nameof(source)); + } + + if (dest == null) + { + throw new ArgumentNullException(nameof(dest)); + } + var destProps = typeof(TU).GetProperties().Where(x => x.CanWrite).ToList(); foreach (var sourceProp in typeof(T).GetProperties()) @@ -99,8 +111,8 @@ namespace MediaBrowser.Controller.Entities /// </summary> /// <param name="source">The source object.</param> public static TU DeepCopy<T, TU>(this T source) - where T : BaseItem - where TU : BaseItem, new() + where T : BaseItem + where TU : BaseItem, new() { var dest = new TU(); source.DeepCopy(dest); |
