Skip to content

Commit f30d451

Browse files
authored
Merge pull request #1383 from SimonCropp/use-is-operator-instead-of-reflection
use is operator instead of reflection
2 parents b711794 + 8f93584 commit f30d451

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/Microsoft.OpenApi/Extensions/OpenApiReferencableExtensions.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,17 @@ public static IOpenApiReferenceable ResolveReference(this IOpenApiReferenceable
3131
var mapKey = pointer.Tokens.ElementAtOrDefault(1);
3232
try
3333
{
34-
if (element.GetType() == typeof(OpenApiHeader))
34+
if (element is OpenApiHeader header)
3535
{
36-
return ResolveReferenceOnHeaderElement((OpenApiHeader)element, propertyName, mapKey, pointer);
36+
return ResolveReferenceOnHeaderElement(header, propertyName, mapKey, pointer);
3737
}
38-
if (element.GetType() == typeof(OpenApiParameter))
38+
if (element is OpenApiParameter parameter)
3939
{
40-
return ResolveReferenceOnParameterElement((OpenApiParameter)element, propertyName, mapKey, pointer);
40+
return ResolveReferenceOnParameterElement(parameter, propertyName, mapKey, pointer);
4141
}
42-
if (element.GetType() == typeof(OpenApiResponse))
42+
if (element is OpenApiResponse response)
4343
{
44-
return ResolveReferenceOnResponseElement((OpenApiResponse)element, propertyName, mapKey, pointer);
44+
return ResolveReferenceOnResponseElement(response, propertyName, mapKey, pointer);
4545
}
4646
}
4747
catch (KeyNotFoundException)

test/Microsoft.OpenApi.Tests/Writers/OpenApiJsonWriterTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,10 +208,10 @@ private void WriteValueRecursive(OpenApiJsonWriter writer, object value)
208208

209209
writer.WriteEndObject();
210210
}
211-
else if (typeof(IEnumerable).IsAssignableFrom(value.GetType()))
211+
else if (value is IEnumerable enumerable)
212212
{
213213
writer.WriteStartArray();
214-
foreach (var elementValue in (IEnumerable)value)
214+
foreach (var elementValue in enumerable)
215215
{
216216
WriteValueRecursive(writer, elementValue);
217217
}

test/Microsoft.OpenApi.Tests/Writers/OpenApiYamlWriterTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,10 +294,10 @@ private void WriteValueRecursive(OpenApiYamlWriter writer, object value)
294294

295295
writer.WriteEndObject();
296296
}
297-
else if (typeof(IEnumerable).IsAssignableFrom(value.GetType()))
297+
else if (value is IEnumerable enumerable)
298298
{
299299
writer.WriteStartArray();
300-
foreach (var elementValue in (IEnumerable)value)
300+
foreach (var elementValue in enumerable)
301301
{
302302
WriteValueRecursive(writer, elementValue);
303303
}

0 commit comments

Comments
 (0)