@@ -43,7 +43,7 @@ public static Object AsEnum(this in Utf8JsonReader reader, Type enumType)
4343 try { return Enum . Parse ( enumType , jsonVal , true ) ; }
4444 catch ( System . ArgumentException ex )
4545 {
46- throw new System . Text . Json . JsonException ( $ "Value { jsonVal } not found int { enumType } ", ex ) ;
46+ throw new System . Text . Json . JsonException ( $ "Value ' { jsonVal } ' not found in ' { enumType } ' ", ex ) ;
4747 }
4848 }
4949
@@ -102,58 +102,54 @@ public static T GetValueAs<T>(this in Utf8JsonReader reader)
102102
103103 public static bool TryWriteProperty ( this Utf8JsonWriter writer , string property , Object value )
104104 {
105- if ( value is String vstr ) { writer . WriteString ( property , vstr ) ; return true ; }
106- if ( value is Boolean vbol ) { writer . WriteBoolean ( property , vbol ) ; return true ; }
107-
108- if ( value is Byte vu8 ) { writer . WriteNumber ( property , vu8 ) ; return true ; }
109- if ( value is UInt16 vu16 ) { writer . WriteNumber ( property , vu16 ) ; return true ; }
110- if ( value is UInt32 vu32 ) { writer . WriteNumber ( property , vu32 ) ; return true ; }
111- if ( value is UInt64 vu64 ) { writer . WriteNumber ( property , vu64 ) ; return true ; }
112-
113- if ( value is SByte vs8 ) { writer . WriteNumber ( property , vs8 ) ; return true ; }
114- if ( value is Int16 vs16 ) { writer . WriteNumber ( property , vs16 ) ; return true ; }
115- if ( value is Int32 vs32 ) { writer . WriteNumber ( property , vs32 ) ; return true ; }
116- if ( value is Int64 vs64 ) { writer . WriteNumber ( property , vs64 ) ; return true ; }
117-
118- if ( value is Single vf32 ) { writer . WriteNumber ( property , vf32 ) ; return true ; }
119- if ( value is Double vf64 ) { writer . WriteNumber ( property , vf64 ) ; return true ; }
120- if ( value is Decimal vfxx ) { writer . WriteNumber ( property , vfxx ) ; return true ; }
121-
122- if ( value is Vector2 vvv2 ) { writer . WritePropertyName ( property ) ; writer . WriteVector2 ( vvv2 ) ; return true ; }
123- if ( value is Vector3 vvv3 ) { writer . WritePropertyName ( property ) ; writer . WriteVector3 ( vvv3 ) ; return true ; }
124- if ( value is Vector4 vvv4 ) { writer . WritePropertyName ( property ) ; writer . WriteVector4 ( vvv4 ) ; return true ; }
125- if ( value is Quaternion qqq4 ) { writer . WritePropertyName ( property ) ; writer . WriteQuaternion ( qqq4 ) ; return true ; }
126- if ( value is Matrix4x4 mm44 ) { writer . WritePropertyName ( property ) ; writer . WriteMatrix4x4 ( mm44 ) ; return true ; }
127-
128- return false ;
105+ switch ( value )
106+ {
107+ case string vstr : writer . WriteString ( property , vstr ) ; return true ;
108+ case bool vbol : writer . WriteBoolean ( property , vbol ) ; return true ;
109+ case byte vu8 : writer . WriteNumber ( property , vu8 ) ; return true ;
110+ case ushort vu16 : writer . WriteNumber ( property , vu16 ) ; return true ;
111+ case uint vu32 : writer . WriteNumber ( property , vu32 ) ; return true ;
112+ case ulong vu64 : writer . WriteNumber ( property , vu64 ) ; return true ;
113+ case sbyte vs8 : writer . WriteNumber ( property , vs8 ) ; return true ;
114+ case short vs16 : writer . WriteNumber ( property , vs16 ) ; return true ;
115+ case int vs32 : writer . WriteNumber ( property , vs32 ) ; return true ;
116+ case long vs64 : writer . WriteNumber ( property , vs64 ) ; return true ;
117+ case float vf32 : writer . WriteNumber ( property , vf32 ) ; return true ;
118+ case double vf64 : writer . WriteNumber ( property , vf64 ) ; return true ;
119+ case decimal vfxx : writer . WriteNumber ( property , vfxx ) ; return true ;
120+ case Vector2 vvv2 : writer . WritePropertyName ( property ) ; writer . WriteVector2 ( vvv2 ) ; return true ;
121+ case Vector3 vvv3 : writer . WritePropertyName ( property ) ; writer . WriteVector3 ( vvv3 ) ; return true ;
122+ case Vector4 vvv4 : writer . WritePropertyName ( property ) ; writer . WriteVector4 ( vvv4 ) ; return true ;
123+ case Quaternion qqq4 : writer . WritePropertyName ( property ) ; writer . WriteQuaternion ( qqq4 ) ; return true ;
124+ case Matrix4x4 mm44 : writer . WritePropertyName ( property ) ; writer . WriteMatrix4x4 ( mm44 ) ; return true ;
125+ default : return false ;
126+ }
129127 }
130128
131129 public static bool TryWriteValue ( this Utf8JsonWriter writer , Object value )
132130 {
133- if ( value is String vstr ) { writer . WriteStringValue ( vstr ) ; return true ; }
134- if ( value is Boolean vbol ) { writer . WriteBooleanValue ( vbol ) ; return true ; }
135-
136- if ( value is Byte vu8 ) { writer . WriteNumberValue ( vu8 ) ; return true ; }
137- if ( value is UInt16 vu16 ) { writer . WriteNumberValue ( vu16 ) ; return true ; }
138- if ( value is UInt32 vu32 ) { writer . WriteNumberValue ( vu32 ) ; return true ; }
139- if ( value is UInt64 vu64 ) { writer . WriteNumberValue ( vu64 ) ; return true ; }
140-
141- if ( value is SByte vs8 ) { writer . WriteNumberValue ( vs8 ) ; return true ; }
142- if ( value is Int16 vs16 ) { writer . WriteNumberValue ( vs16 ) ; return true ; }
143- if ( value is Int32 vs32 ) { writer . WriteNumberValue ( vs32 ) ; return true ; }
144- if ( value is Int64 vs64 ) { writer . WriteNumberValue ( vs64 ) ; return true ; }
145-
146- if ( value is Single vf32 ) { writer . WriteNumberValue ( vf32 ) ; return true ; }
147- if ( value is Double vf64 ) { writer . WriteNumberValue ( vf64 ) ; return true ; }
148- if ( value is Decimal vfxx ) { writer . WriteNumberValue ( vfxx ) ; return true ; }
149-
150- if ( value is Vector2 vvv2 ) { writer . WriteVector2 ( vvv2 ) ; return true ; }
151- if ( value is Vector3 vvv3 ) { writer . WriteVector3 ( vvv3 ) ; return true ; }
152- if ( value is Vector4 vvv4 ) { writer . WriteVector4 ( vvv4 ) ; return true ; }
153- if ( value is Quaternion qqq4 ) { writer . WriteQuaternion ( qqq4 ) ; return true ; }
154- if ( value is Matrix4x4 mm44 ) { writer . WriteMatrix4x4 ( mm44 ) ; return true ; }
155-
156- return false ;
131+ switch ( value )
132+ {
133+ case string vstr : writer . WriteStringValue ( vstr ) ; return true ;
134+ case bool vbol : writer . WriteBooleanValue ( vbol ) ; return true ;
135+ case byte vu8 : writer . WriteNumberValue ( vu8 ) ; return true ;
136+ case ushort vu16 : writer . WriteNumberValue ( vu16 ) ; return true ;
137+ case uint vu32 : writer . WriteNumberValue ( vu32 ) ; return true ;
138+ case ulong vu64 : writer . WriteNumberValue ( vu64 ) ; return true ;
139+ case sbyte vs8 : writer . WriteNumberValue ( vs8 ) ; return true ;
140+ case short vs16 : writer . WriteNumberValue ( vs16 ) ; return true ;
141+ case int vs32 : writer . WriteNumberValue ( vs32 ) ; return true ;
142+ case long vs64 : writer . WriteNumberValue ( vs64 ) ; return true ;
143+ case float vf32 : writer . WriteNumberValue ( vf32 ) ; return true ;
144+ case double vf64 : writer . WriteNumberValue ( vf64 ) ; return true ;
145+ case decimal vfxx : writer . WriteNumberValue ( vfxx ) ; return true ;
146+ case Vector2 vvv2 : writer . WriteVector2 ( vvv2 ) ; return true ;
147+ case Vector3 vvv3 : writer . WriteVector3 ( vvv3 ) ; return true ;
148+ case Vector4 vvv4 : writer . WriteVector4 ( vvv4 ) ; return true ;
149+ case Quaternion qqq4 : writer . WriteQuaternion ( qqq4 ) ; return true ;
150+ case Matrix4x4 mm44 : writer . WriteMatrix4x4 ( mm44 ) ; return true ;
151+ default : return false ;
152+ }
157153 }
158154
159155 public static void WriteVector2 ( this Utf8JsonWriter writer , Vector2 v )
0 commit comments