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>
<TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
<AssemblyName>Volo.Abp.Serialization</AssemblyName>
<PackageId>Volo.Abp.Serialization</PackageId>
<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;
}
public virtual byte[] Serialize<T>(T obj)
public virtual byte[]? Serialize<T>(T? obj)
{
if (obj == null)
{
@ -35,8 +35,7 @@ public class DefaultObjectSerializer : IObjectSerializer, ITransientDependency
return AutoSerialize(obj);
}
[CanBeNull]
public virtual T Deserialize<T>(byte[] bytes)
public virtual T? Deserialize<T>(byte[]? bytes)
{
if (bytes == null)
{
@ -61,7 +60,7 @@ public class DefaultObjectSerializer : IObjectSerializer, ITransientDependency
return JsonSerializer.SerializeToUtf8Bytes(obj);
}
protected virtual T AutoDeserialize<T>(byte[] bytes)
protected virtual T? AutoDeserialize<T>(byte[] bytes)
{
return JsonSerializer.Deserialize<T>(bytes);
}

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

@ -2,14 +2,14 @@
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>
{
byte[] Serialize(T obj);
byte[]? Serialize(T? obj);
T Deserialize(byte[] bytes);
T? Deserialize(byte[]? bytes);
}

Loading…
Cancel
Save