@@ -238,55 +238,53 @@ public virtual void WriteValue(object? value)
238238 return ;
239239 }
240240
241- var type = value . GetType ( ) ;
242-
243- if ( type == typeof ( string ) )
241+ if ( value is string strValue )
244242 {
245- WriteValue ( ( string ) ( value ) ) ;
243+ WriteValue ( strValue ) ;
246244 }
247- else if ( type == typeof ( int ) || type == typeof ( int ? ) )
245+ else if ( value is int intValue )
248246 {
249- WriteValue ( ( int ) value ) ;
247+ WriteValue ( intValue ) ;
250248 }
251- else if ( type == typeof ( uint ) || type == typeof ( uint ? ) )
249+ else if ( value is uint uintValue )
252250 {
253- WriteValue ( ( uint ) value ) ;
251+ WriteValue ( uintValue ) ;
254252 }
255- else if ( type == typeof ( long ) || type == typeof ( long ? ) )
253+ else if ( value is long longValue )
256254 {
257- WriteValue ( ( long ) value ) ;
255+ WriteValue ( longValue ) ;
258256 }
259- else if ( type == typeof ( bool ) || type == typeof ( bool ? ) )
257+ else if ( value is bool boolValue )
260258 {
261- WriteValue ( ( bool ) value ) ;
259+ WriteValue ( boolValue ) ;
262260 }
263- else if ( type == typeof ( float ) || type == typeof ( float ? ) )
261+ else if ( value is float floatValue )
264262 {
265- WriteValue ( ( float ) value ) ;
263+ WriteValue ( floatValue ) ;
266264 }
267- else if ( type == typeof ( double ) || type == typeof ( double ? ) )
265+ else if ( value is double doubleValue )
268266 {
269- WriteValue ( ( double ) value ) ;
267+ WriteValue ( doubleValue ) ;
270268 }
271- else if ( type == typeof ( decimal ) || type == typeof ( decimal ? ) )
269+ else if ( value is decimal decimalValue )
272270 {
273- WriteValue ( ( decimal ) value ) ;
271+ WriteValue ( decimalValue ) ;
274272 }
275- else if ( type == typeof ( DateTime ) || type == typeof ( DateTime ? ) )
273+ else if ( value is DateTime DateTimeValue )
276274 {
277- WriteValue ( ( DateTime ) value ) ;
275+ WriteValue ( DateTimeValue ) ;
278276 }
279- else if ( type == typeof ( DateTimeOffset ) || type == typeof ( DateTimeOffset ? ) )
277+ else if ( value is DateTimeOffset DateTimeOffsetValue )
280278 {
281- WriteValue ( ( DateTimeOffset ) value ) ;
279+ WriteValue ( DateTimeOffsetValue ) ;
282280 }
283281 else if ( value is IEnumerable < object > enumerable )
284282 {
285283 WriteEnumerable ( enumerable ) ;
286284 }
287285 else
288286 {
289- throw new OpenApiWriterException ( string . Format ( SRResource . OpenApiUnsupportedValueType , type . FullName ) ) ;
287+ throw new OpenApiWriterException ( string . Format ( SRResource . OpenApiUnsupportedValueType , value . GetType ( ) . FullName ) ) ;
290288 }
291289 }
292290
0 commit comments