diff --git a/src/Microsoft.OpenApi/Extensions/OpenApiReferencableExtensions.cs b/src/Microsoft.OpenApi/Extensions/OpenApiReferencableExtensions.cs index 11fcd7e9e..7a8b71fa3 100644 --- a/src/Microsoft.OpenApi/Extensions/OpenApiReferencableExtensions.cs +++ b/src/Microsoft.OpenApi/Extensions/OpenApiReferencableExtensions.cs @@ -31,17 +31,17 @@ public static IOpenApiReferenceable ResolveReference(this IOpenApiReferenceable var mapKey = pointer.Tokens.ElementAtOrDefault(1); try { - if (element.GetType() == typeof(OpenApiHeader)) + if (element is OpenApiHeader header) { - return ResolveReferenceOnHeaderElement((OpenApiHeader)element, propertyName, mapKey, pointer); + return ResolveReferenceOnHeaderElement(header, propertyName, mapKey, pointer); } - if (element.GetType() == typeof(OpenApiParameter)) + if (element is OpenApiParameter parameter) { - return ResolveReferenceOnParameterElement((OpenApiParameter)element, propertyName, mapKey, pointer); + return ResolveReferenceOnParameterElement(parameter, propertyName, mapKey, pointer); } - if (element.GetType() == typeof(OpenApiResponse)) + if (element is OpenApiResponse response) { - return ResolveReferenceOnResponseElement((OpenApiResponse)element, propertyName, mapKey, pointer); + return ResolveReferenceOnResponseElement(response, propertyName, mapKey, pointer); } } catch (KeyNotFoundException) diff --git a/test/Microsoft.OpenApi.Tests/Writers/OpenApiJsonWriterTests.cs b/test/Microsoft.OpenApi.Tests/Writers/OpenApiJsonWriterTests.cs index 44d1be55b..b7943916a 100644 --- a/test/Microsoft.OpenApi.Tests/Writers/OpenApiJsonWriterTests.cs +++ b/test/Microsoft.OpenApi.Tests/Writers/OpenApiJsonWriterTests.cs @@ -208,10 +208,10 @@ private void WriteValueRecursive(OpenApiJsonWriter writer, object value) writer.WriteEndObject(); } - else if (typeof(IEnumerable).IsAssignableFrom(value.GetType())) + else if (value is IEnumerable enumerable) { writer.WriteStartArray(); - foreach (var elementValue in (IEnumerable)value) + foreach (var elementValue in enumerable) { WriteValueRecursive(writer, elementValue); } diff --git a/test/Microsoft.OpenApi.Tests/Writers/OpenApiYamlWriterTests.cs b/test/Microsoft.OpenApi.Tests/Writers/OpenApiYamlWriterTests.cs index 13f70f1e9..1eeb91fee 100644 --- a/test/Microsoft.OpenApi.Tests/Writers/OpenApiYamlWriterTests.cs +++ b/test/Microsoft.OpenApi.Tests/Writers/OpenApiYamlWriterTests.cs @@ -276,10 +276,10 @@ private void WriteValueRecursive(OpenApiYamlWriter writer, object value) writer.WriteEndObject(); } - else if (typeof(IEnumerable).IsAssignableFrom(value.GetType())) + else if (value is IEnumerable enumerable) { writer.WriteStartArray(); - foreach (var elementValue in (IEnumerable)value) + foreach (var elementValue in enumerable) { WriteValueRecursive(writer, elementValue); }