Browse Source

Enable nullable annotations for Volo.Abp.Serialization

pull/17020/head
liangshiwei 3 years ago
parent
commit
46dd351f23
  1. 2
      framework/src/Volo.Abp.Serialization/Volo.Abp.Serialization.csproj
  2. 7
      framework/src/Volo.Abp.Serialization/Volo/Abp/Serialization/DefaultObjectSerializer.cs
  3. 8
      framework/src/Volo.Abp.Serialization/Volo/Abp/Serialization/IObjectSerializer.cs

2
framework/src/Volo.Abp.Serialization/Volo.Abp.Serialization.csproj

@ -5,6 +5,8 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks> <TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
<AssemblyName>Volo.Abp.Serialization</AssemblyName> <AssemblyName>Volo.Abp.Serialization</AssemblyName>
<PackageId>Volo.Abp.Serialization</PackageId> <PackageId>Volo.Abp.Serialization</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> <AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>

7
framework/src/Volo.Abp.Serialization/Volo/Abp/Serialization/DefaultObjectSerializer.cs

@ -15,7 +15,7 @@ public class DefaultObjectSerializer : IObjectSerializer, ITransientDependency
_serviceProvider = serviceProvider; _serviceProvider = serviceProvider;
} }
public virtual byte[] Serialize<T>(T obj) public virtual byte[]? Serialize<T>(T? obj)
{ {
if (obj == null) if (obj == null)
{ {
@ -35,8 +35,7 @@ public class DefaultObjectSerializer : IObjectSerializer, ITransientDependency
return AutoSerialize(obj); return AutoSerialize(obj);
} }
[CanBeNull] public virtual T? Deserialize<T>(byte[]? bytes)
public virtual T Deserialize<T>(byte[] bytes)
{ {
if (bytes == null) if (bytes == null)
{ {
@ -61,7 +60,7 @@ public class DefaultObjectSerializer : IObjectSerializer, ITransientDependency
return JsonSerializer.SerializeToUtf8Bytes(obj); return JsonSerializer.SerializeToUtf8Bytes(obj);
} }
protected virtual T AutoDeserialize<T>(byte[] bytes) protected virtual T? AutoDeserialize<T>(byte[] bytes)
{ {
return JsonSerializer.Deserialize<T>(bytes); return JsonSerializer.Deserialize<T>(bytes);
} }

8
framework/src/Volo.Abp.Serialization/Volo/Abp/Serialization/IObjectSerializer.cs

@ -2,14 +2,14 @@
public interface IObjectSerializer public interface IObjectSerializer
{ {
byte[] Serialize<T>(T obj); byte[]? Serialize<T>(T? obj);
T Deserialize<T>(byte[] bytes); T? Deserialize<T>(byte[] bytes);
} }
public interface IObjectSerializer<T> public interface IObjectSerializer<T>
{ {
byte[] Serialize(T obj); byte[]? Serialize(T? obj);
T Deserialize(byte[] bytes); T? Deserialize(byte[]? bytes);
} }

Loading…
Cancel
Save