@@ -202,12 +202,12 @@ public static void Write(this Stream stream, ReadOnlySpan<byte> buffer)
202202#if NETSTANDARD2_1_OR_GREATER
203203 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
204204#endif
205- public static T Read < T > ( this Stream stream )
205+ public static unsafe T Read < T > ( this Stream stream )
206206 where T : unmanaged
207207 {
208208#if NETSTANDARD2_1_OR_GREATER
209209 T result = default ;
210- int length = Unsafe . SizeOf < T > ( ) ;
210+ int length = sizeof ( T ) ;
211211
212212 unsafe
213213 {
@@ -219,7 +219,7 @@ public static T Read<T>(this Stream stream)
219219
220220 return result ;
221221#else
222- int length = Unsafe . SizeOf < T > ( ) ;
222+ int length = sizeof ( T ) ;
223223 byte [ ] buffer = ArrayPool < byte > . Shared . Rent ( length ) ;
224224
225225 try
@@ -247,19 +247,19 @@ public static T Read<T>(this Stream stream)
247247#if NETSTANDARD2_1_OR_GREATER
248248 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
249249#endif
250- public static void Write < T > ( this Stream stream , in T value )
250+ public static unsafe void Write < T > ( this Stream stream , in T value )
251251 where T : unmanaged
252252 {
253253#if NETSTANDARD2_1_OR_GREATER
254254 ref T r0 = ref Unsafe . AsRef ( value ) ;
255255 ref byte r1 = ref Unsafe . As < T , byte > ( ref r0 ) ;
256- int length = Unsafe . SizeOf < T > ( ) ;
256+ int length = sizeof ( T ) ;
257257
258258 ReadOnlySpan < byte > span = MemoryMarshal . CreateReadOnlySpan ( ref r1 , length ) ;
259259
260260 stream . Write ( span ) ;
261261#else
262- int length = Unsafe . SizeOf < T > ( ) ;
262+ int length = sizeof ( T ) ;
263263 byte [ ] buffer = ArrayPool < byte > . Shared . Rent ( length ) ;
264264
265265 try
0 commit comments