From 4a71a911d49c4e1e75bd2620f16d10f8eeceebc3 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Tue, 31 Mar 2020 08:11:02 +1100 Subject: [PATCH] optimise IsEmptyArray (#272) --- .../OmitDefaultAndEmptyArrayObjectGraphVisitor.cs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Microsoft.Tye.Core/Serialization/OmitDefaultAndEmptyArrayObjectGraphVisitor.cs b/src/Microsoft.Tye.Core/Serialization/OmitDefaultAndEmptyArrayObjectGraphVisitor.cs index 43383696..bbb36ef4 100644 --- a/src/Microsoft.Tye.Core/Serialization/OmitDefaultAndEmptyArrayObjectGraphVisitor.cs +++ b/src/Microsoft.Tye.Core/Serialization/OmitDefaultAndEmptyArrayObjectGraphVisitor.cs @@ -23,11 +23,9 @@ namespace Microsoft.Tye.Serialization return type.GetTypeInfo().IsValueType ? Activator.CreateInstance(type) : null; } - private static bool IsEmptyArray(Type type, object? value) + private static bool IsEmptyArray(object? value) { - return value is object - && value is ICollection - && ((ICollection)value).Count == 0; + return value is ICollection collection && collection.Count == 0; } public override bool EnterMapping(IPropertyDescriptor key, IObjectDescriptor value, IEmitter context) @@ -39,7 +37,7 @@ namespace Microsoft.Tye.Serialization : GetDefault(key.Type); return !Equals(value.Value, defaultValue) - && !IsEmptyArray(value.Type, value.Value) + && !IsEmptyArray(value.Value) && base.EnterMapping(key, value, context); } }