Browse Source

Enable nullable annotations for Volo.Abp.Localization.Abstractions

pull/17020/head
liangshiwei 3 years ago
parent
commit
a551464e4c
  1. 9
      framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/AbpStringLocalizerFactoryExtensions.cs
  2. 9
      framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/IAbpStringLocalizerFactory.cs
  3. 2
      framework/src/Volo.Abp.Localization.Abstractions/Volo.Abp.Localization.Abstractions.csproj
  4. 2
      framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/HasNameWithLocalizableDisplayNameExtensions.cs
  5. 3
      framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/IHasNameWithLocalizableDisplayName.cs
  6. 16
      framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizableString.cs
  7. 4
      framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizationResourceNameAttribute.cs

9
framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/AbpStringLocalizerFactoryExtensions.cs

@ -6,15 +6,13 @@ namespace Microsoft.Extensions.Localization;
public static class AbpStringLocalizerFactoryExtensions
{
[CanBeNull]
public static IStringLocalizer CreateDefaultOrNull(this IStringLocalizerFactory localizerFactory)
public static IStringLocalizer? CreateDefaultOrNull(this IStringLocalizerFactory localizerFactory)
{
return (localizerFactory as IAbpStringLocalizerFactory)
?.CreateDefaultOrNull();
}
[CanBeNull]
public static IStringLocalizer CreateByResourceNameOrNull(
public static IStringLocalizer? CreateByResourceNameOrNull(
this IStringLocalizerFactory localizerFactory,
string resourceName)
{
@ -36,8 +34,7 @@ public static class AbpStringLocalizerFactoryExtensions
return localizer;
}
[ItemCanBeNull]
public static async Task<IStringLocalizer> CreateByResourceNameOrNullAsync(
public static async Task<IStringLocalizer?> CreateByResourceNameOrNullAsync(
this IStringLocalizerFactory localizerFactory,
string resourceName)
{

9
framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/IAbpStringLocalizerFactory.cs

@ -5,12 +5,9 @@ namespace Microsoft.Extensions.Localization;
public interface IAbpStringLocalizerFactory
{
[CanBeNull]
IStringLocalizer CreateDefaultOrNull();
IStringLocalizer? CreateDefaultOrNull();
[CanBeNull]
IStringLocalizer CreateByResourceNameOrNull([NotNull] string resourceName);
IStringLocalizer? CreateByResourceNameOrNull([NotNull] string resourceName);
[ItemCanBeNull]
Task<IStringLocalizer> CreateByResourceNameOrNullAsync([NotNull] string resourceName);
Task<IStringLocalizer?> CreateByResourceNameOrNullAsync([NotNull] string resourceName);
}

2
framework/src/Volo.Abp.Localization.Abstractions/Volo.Abp.Localization.Abstractions.csproj

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

2
framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/HasNameWithLocalizableDisplayNameExtensions.cs

@ -10,7 +10,7 @@ public static class HasNameWithLocalizableDisplayNameExtensions
public static string GetLocalizedDisplayName(
[NotNull] this IHasNameWithLocalizableDisplayName source,
[NotNull] IStringLocalizerFactory stringLocalizerFactory,
[CanBeNull] string localizationNamePrefix = "DisplayName:")
string? localizationNamePrefix = "DisplayName:")
{
if (source.DisplayName != null)
{

3
framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/IHasNameWithLocalizableDisplayName.cs

@ -7,6 +7,5 @@ public interface IHasNameWithLocalizableDisplayName
[NotNull]
public string Name { get; }
[CanBeNull]
public ILocalizableString DisplayName { get; }
public ILocalizableString? DisplayName { get; }
}

16
framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizableString.cs

@ -7,16 +7,14 @@ namespace Volo.Abp.Localization;
public class LocalizableString : ILocalizableString, IAsyncLocalizableString
{
[CanBeNull]
public string ResourceName { get; }
public string? ResourceName { get; }
[CanBeNull]
public Type ResourceType { get; }
public Type? ResourceType { get; }
[NotNull]
public string Name { get; }
public LocalizableString([CanBeNull] Type resourceType, [NotNull] string name)
public LocalizableString(Type? resourceType, [NotNull] string name)
{
Name = Check.NotNullOrEmpty(name, nameof(name));
ResourceType = resourceType;
@ -27,7 +25,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString
}
}
public LocalizableString([NotNull] string name, [CanBeNull] string resourceName = null)
public LocalizableString([NotNull] string name, string? resourceName = null)
{
Name = Check.NotNullOrEmpty(name, nameof(name));
ResourceName = resourceName;
@ -79,7 +77,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString
return result;
}
private IStringLocalizer CreateStringLocalizerOrNull(IStringLocalizerFactory stringLocalizerFactory)
private IStringLocalizer? CreateStringLocalizerOrNull(IStringLocalizerFactory stringLocalizerFactory)
{
if (ResourceType != null)
{
@ -98,7 +96,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString
return stringLocalizerFactory.CreateDefaultOrNull();
}
private async Task<IStringLocalizer> CreateStringLocalizerOrNullAsync(IStringLocalizerFactory stringLocalizerFactory)
private async Task<IStringLocalizer?> CreateStringLocalizerOrNullAsync(IStringLocalizerFactory stringLocalizerFactory)
{
if (ResourceType != null)
{
@ -127,7 +125,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString
return new LocalizableString(resourceType, name);
}
public static LocalizableString Create([NotNull] string name, [CanBeNull] string resourceName = null)
public static LocalizableString Create([NotNull] string name, string? resourceName = null)
{
return new LocalizableString(name, resourceName);
}

4
framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizationResourceNameAttribute.cs

@ -12,7 +12,7 @@ public class LocalizationResourceNameAttribute : Attribute
Name = name;
}
public static LocalizationResourceNameAttribute GetOrNull(Type resourceType)
public static LocalizationResourceNameAttribute? GetOrNull(Type resourceType)
{
return resourceType
.GetCustomAttributes(true)
@ -20,7 +20,7 @@ public class LocalizationResourceNameAttribute : Attribute
.FirstOrDefault();
}
public static string GetName(Type resourceType)
public static string? GetName(Type resourceType)
{
return GetOrNull(resourceType)?.Name ?? resourceType.FullName;
}

Loading…
Cancel
Save